==> Building on shinx ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list ./ PKGBUILD 1,400 52% 0.00kB/s 0:00:00 2,691 100% 1.23MB/s 0:00:00 (xfr#1, to-chk=1/3) python-xarray-2023.01.0-1.log 250 100% 244.14kB/s 0:00:00 250 100% 244.14kB/s 0:00:00 (xfr#2, to-chk=0/3) sent 1,114 bytes received 81 bytes 796.67 bytes/sec total size is 2,883 speedup is 2.41 ==> Running extra-riscv64-build -- -d /home/felix/packages/riscv64-pkg-cache:/var/cache/pacman/pkg -l felix0 on remote host... [?25l:: Synchronizing package databases... core downloading... extra downloading... community downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix0]...done ==> Making package: python-xarray 2023.01.0-1 (Mon Feb 27 21:59:18 2023) ==> Retrieving sources...  -> Downloading python-xarray-2023.01.0.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 429k 0 429k 0 0 632k 0 --:--:-- --:--:-- --:--:-- 632k 100 2988k 0 2988k 0 0 3411k 0 --:--:-- --:--:-- --:--:-- 12.6M ==> Validating source files with sha256sums... python-xarray-2023.01.0.tar.gz ... Passed ==> Making package: python-xarray 2023.01.0-1 (Mon Feb 27 21:59:26 2023) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (27) New Version Net Change extra/blas 3.11.0-2 0.20 MiB extra/cblas 3.11.0-2 0.17 MiB community/cython 0.29.33-1 7.53 MiB extra/lapack 3.11.0-2 4.26 MiB core/libnsl 2.0.0-2 0.06 MiB core/python 3.10.9-1 81.37 MiB community/python-autocommand 2.2.2-1 0.07 MiB community/python-dateutil 2.8.2-4 0.82 MiB community/python-fastjsonschema 2.16.3-1 0.20 MiB community/python-inflect 6.0.2-1 0.28 MiB community/python-jaraco.context 4.3.0-1 0.03 MiB community/python-jaraco.functools 3.6.0-1 0.05 MiB community/python-jaraco.text 3.11.1-1 0.07 MiB community/python-more-itertools 9.0.0-1 0.49 MiB extra/python-ordered-set 4.1.0-1 0.06 MiB extra/python-platformdirs 3.0.0-1 0.12 MiB community/python-pydantic 1.10.4-1 5.81 MiB community/python-pytz 2022.7-1 0.14 MiB extra/python-setuptools 1:67.3.3-1 3.33 MiB extra/python-six 1.16.0-6 0.09 MiB extra/python-tomli 2.0.1-1 0.08 MiB extra/python-trove-classifiers 2023.2.8-1 0.11 MiB community/python-typing_extensions 4.5.0-1 0.23 MiB extra/python-validate-pyproject 0.12.1-1 0.22 MiB extra/python-numpy 1.24.2-1 30.13 MiB extra/python-packaging 23.0-1 0.32 MiB community/python-pandas 1.4.1-1 57.59 MiB Total Installed Size: 193.81 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing blas... installing cblas... installing lapack... installing libnsl... installing python... Optional dependencies for python python-setuptools [pending] python-pip sqlite [installed] mpdecimal: for decimal xz: for lzma [installed] tk: for tkinter installing python-numpy... Optional dependencies for python-numpy openblas: faster linear algebra installing python-packaging... installing python-six... installing python-dateutil... installing python-pytz... installing python-more-itertools... installing python-jaraco.functools... installing python-jaraco.context... installing python-autocommand... installing cython... installing python-typing_extensions... installing python-pydantic... Optional dependencies for python-pydantic python-dotenv: for .env file support python-email-validator: for email validation installing python-inflect... installing python-jaraco.text... installing python-ordered-set... installing python-platformdirs... installing python-tomli... installing python-fastjsonschema... installing python-trove-classifiers... installing python-validate-pyproject... installing python-setuptools... installing python-pandas... Optional dependencies for python-pandas python-pandas-datareader: pandas.io.data replacement (recommended) python-numexpr: needed for accelerating certain numerical operations (recommended) python-bottleneck: needed for accelerating certain types of nan evaluations (recommended) python-beautifulsoup4: needed for read_html function python-jinja: needed for conditional HTML formatting python-pyqt5: needed for read_clipboard function (only one needed) python-pytables: needed for HDF5-based storage python-sqlalchemy: needed for SQL database support python-scipy: needed for miscellaneous statistical functions python-xlsxwriter: alternative Excel XLSX output python-blosc: for msgpack compression using blosc python-html5lib: needed for read_hmlt function (and/or python-lxml) python-lxml: needed for read_html function (and/or python-html5lib) python-matplotlib: needed for plotting python-openpyxl: needed for Excel XLSX input/output python-psycopg2: needed for PostgreSQL engine for sqlalchemy python-pymysql: needed for MySQL engine for sqlalchemy python-qtpy: needed for read_clipboard function (only one needed) python-tabulate: needed for printing in Markdown-friendly format python-fsspec: needed for handling files aside from local and HTTP xclip: needed for read_clipboard function (only one needed) python-xlrd: needed for Excel XLS input python-xlwt: needed for Excel XLS output xsel: needed for read_clipboard function (only one needed) zlib: needed for compression for msgpack [installed] [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... warning: dependency cycle detected: warning: harfbuzz will be installed before its freetype2 dependency Package (88) New Version Net Change Download Size community/blosc 1.21.3-1 0.06 MiB extra/freetype2 2.13.0-1 1.53 MiB extra/fribidi 1.0.12-1 0.20 MiB extra/graphite 1:1.3.14-3 0.17 MiB extra/harfbuzz 7.0.1-1 3.28 MiB community/hdf5 1.12.2-1 9.57 MiB extra/lcms2 2.14-2 0.58 MiB community/libaec 1.0.6-1 0.09 MiB community/libimagequant 4.0.4-1 0.53 MiB extra/libjpeg-turbo 2.1.4-2 1.38 MiB community/liblzf 3.6-3 0.04 MiB extra/libpng 1.6.39-1 0.50 MiB extra/libraqm 0.10.0-1 0.16 MiB extra/libtiff 4.5.0-2 6.01 MiB extra/libxau 1.0.11-1 0.02 MiB extra/libxcb 1.15-2 3.60 MiB extra/libxdmcp 1.1.4-1 0.12 MiB extra/libxslt 1.1.37-2 0.66 MiB extra/libyaml 0.2.5-2 0.15 MiB extra/libzip 1.9.2-1 0.38 MiB extra/mpdecimal 2.5.1-1 1.78 MiB community/netcdf 4.9.1-1 1.88 MiB 0.71 MiB extra/openjpeg2 2.5.0-2 13.14 MiB community/python-aioitertools 0.11.0-1 0.27 MiB community/python-aiosignal 1.3.1-1 0.02 MiB extra/python-appdirs 1.4.4-7 0.07 MiB community/python-async-timeout 4.0.2-1 0.02 MiB extra/python-attrs 22.2.0-1 0.44 MiB community/python-botocore 1.27.96-1 68.59 MiB community/python-certifi 2022.12.07-1 0.01 MiB extra/python-chardet 5.1.0-1 2.49 MiB community/python-charset-normalizer 3.0.1-1 0.33 MiB community/python-click 8.1.3-1 0.89 MiB community/python-cloudpickle 2.2.0-4 0.17 MiB 0.04 MiB community/python-cycler 0.11.0-1 0.04 MiB community/python-exceptiongroup 1.1.0-1 0.09 MiB community/python-execnet 1.9.0-4 0.31 MiB community/python-frozenlist 1.3.3-1 0.10 MiB community/python-heapdict 1.0.1-5 0.01 MiB extra/python-idna 3.4-1 0.67 MiB community/python-iniconfig 2.0.0-2 0.03 MiB community/python-jinja 1:3.1.2-2 1.28 MiB community/python-jmespath 1.0.1-1 0.16 MiB community/python-kiwisolver 1.4.4-2 0.11 MiB 0.05 MiB community/python-locket 1.0.0-1 0.02 MiB 0.01 MiB extra/python-markupsafe 2.1.2-1 0.06 MiB community/python-msgpack 1.0.4-1 0.22 MiB community/python-multidict 6.0.3-2 0.13 MiB community/python-partd 1.3.0-1 0.14 MiB community/python-pillow 9.4.0-2 2.95 MiB community/python-pluggy 1.0.0-2 0.10 MiB community/python-pooch 1.6.0-5 0.51 MiB 0.07 MiB community/python-psutil 5.9.4-1 2.10 MiB extra/python-pyparsing 3.0.9-1 0.96 MiB community/python-s3transfer 0.6.0-4 0.72 MiB community/python-sortedcontainers 2.4.0-3 0.33 MiB community/python-tblib 1.7.0-5 0.09 MiB community/python-toolz 0.12.0-1 0.57 MiB community/python-tornado 6.2.0-2 4.07 MiB extra/python-urllib3 1.26.7-5 0.69 MiB extra/python-wrapt 1.14.1-1 0.19 MiB community/python-yaml 6.0-1 0.68 MiB community/python-yarl 1.8.2-1 0.21 MiB community/python-zict 2.0.0-5 0.08 MiB extra/qhull 2020.2-4 8.11 MiB extra/snappy 1.1.9-2 0.07 MiB extra/xcb-proto 1.15.2-2 0.88 MiB community/python-aiobotocore 2.4.2-1 0.47 MiB community/python-aiohttp 3.8.3-2 2.05 MiB community/python-boto3 1.24.96-1 1.32 MiB community/python-bottleneck 1.3.5-1 0.44 MiB community/python-cftime 1.6.2-1 0.39 MiB community/python-dask 2022.6.1-1 11.46 MiB community/python-distributed 2022.6.1-1 5.82 MiB community/python-fsspec 2022.5.0-1 1.24 MiB community/python-h5py 3.8.0-1 4.40 MiB 1.01 MiB community/python-hypothesis 6.59.0-1 2.88 MiB extra/python-lxml 4.9.2-1 4.16 MiB community/python-matplotlib 3.4.3-1 21.76 MiB community/python-netcdf4 1.6.2-1 0.98 MiB community/python-numexpr 2.8.4-1 0.48 MiB community/python-pint 0.19.2-1 2.23 MiB community/python-pytest 7.2.1-1 2.80 MiB community/python-pytest-xdist 3.2.0-1 0.33 MiB extra/python-requests 2.28.2-1 0.46 MiB 0.09 MiB community/python-scipy 1.10.1-1 75.03 MiB 17.34 MiB community/python-seaborn 0.12.1-1 2.49 MiB community/python-setuptools-scm 7.1.0-1 0.27 MiB Total Download Size: 19.31 MiB Total Installed Size: 287.25 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-scipy-1.10.1-1-riscv64 downloading... python-h5py-3.8.0-1-riscv64 downloading... netcdf-4.9.1-1-riscv64 downloading... python-requests-2.28.2-1-any downloading... python-pooch-1.6.0-5-any downloading... python-kiwisolver-1.4.4-2-riscv64 downloading... python-cloudpickle-2.2.0-4-any downloading... python-locket-1.0.0-1-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-setuptools-scm... installing python-attrs... installing python-exceptiongroup... installing python-iniconfig... installing python-pluggy... installing python-pytest... installing python-execnet... installing python-pytest-xdist... installing python-chardet... installing python-multidict... installing python-async-timeout... installing python-idna... installing python-yarl... installing python-charset-normalizer... installing python-frozenlist... installing python-aiosignal... installing python-aiohttp... Optional dependencies for python-aiohttp gunicorn: to deploy using Gunicorn python-aiodns: for fast DNS resolving python-cchardet: for faster encoding detection python-brotli: for Brotli transfer-encodings support installing python-certifi... installing python-jmespath... installing python-urllib3... Optional dependencies for python-urllib3 python-pysocks: SOCKS support python-brotli: Brotli support python-pyopenssl: security support python-idna: security support [installed] installing python-botocore... Optional dependencies for python-botocore python-awscrt installing python-wrapt... installing python-aioitertools... installing python-aiobotocore... installing python-bottleneck... installing python-s3transfer... Optional dependencies for python-s3transfer python-awscrt installing python-boto3... installing python-cftime... installing python-cloudpickle... installing python-fsspec... installing python-locket... installing python-toolz... installing python-partd... Optional dependencies for python-partd python-blosc python-numpy [installed] python-pandas [installed] python-pyzmq installing libyaml... installing python-yaml... installing mpdecimal... installing python-dask... Optional dependencies for python-dask python-distributed: distributed computing [pending] python-numpy: arrays and dataframes support [installed] python-pandas: dataframes support [installed] python-psutil: more accurate CPU count [pending] python-pyarrow: Apache Arrow, for parquet support python-sqlalchemy: writing and reading from SQL databases python-xxhash: faster hashing of arrays installing python-click... installing python-markupsafe... installing python-jinja... Optional dependencies for python-jinja python-babel: for i18n support installing python-msgpack... installing python-psutil... installing python-sortedcontainers... installing python-tblib... installing python-tornado... Optional dependencies for python-tornado python-pycurl: for tornado.curl_httpclient python-twisted: for tornado.platform.twisted installing python-heapdict... installing python-zict... installing python-distributed... installing libaec... installing hdf5... installing liblzf... installing python-h5py... installing python-hypothesis... Optional dependencies for python-hypothesis python-pytz: for datetime and django module [installed] python-faker: for fakefactory and django module python-django: for django module python-numpy: for numpy module [installed] python-pytest: for pytest module [installed] python-lark-parser: for lark module python-libcst: for codemods module installing libxslt... Optional dependencies for libxslt python: Python bindings [installed] installing python-lxml... Optional dependencies for python-lxml python-beautifulsoup4: support for beautifulsoup parser to parse not well formed HTML python-cssselect: support for cssselect python-html5lib: support for html5lib parser python-lxml-docs: offline docs installing graphite... Optional dependencies for graphite graphite-docs: Documentation installing harfbuzz... Optional dependencies for harfbuzz harfbuzz-utils: utilities installing libpng... installing freetype2... installing python-cycler... installing python-kiwisolver... installing libjpeg-turbo... Optional dependencies for libjpeg-turbo java-runtime>11: for TurboJPEG Java wrapper installing libtiff... Optional dependencies for libtiff freeglut: for using tiffgt installing lcms2... installing fribidi... installing libraqm... installing openjpeg2... installing libimagequant... installing xcb-proto... installing libxdmcp... installing libxau... installing libxcb... installing python-pillow... Optional dependencies for python-pillow libwebp: for webp images tk: for the ImageTK module python-olefile: OLE2 file support python-pyqt5: for the ImageQt module installing python-pyparsing... Optional dependencies for python-pyparsing python-railroad-diagrams: for generating Railroad Diagrams python-jinja: for generating Railroad Diagrams [installed] installing qhull... installing python-matplotlib... Optional dependencies for python-matplotlib tk: Tk{Agg,Cairo} backends pyside2: alternative for Qt5{Agg,Cairo} backends python-pyqt5: Qt5{Agg,Cairo} backends python-gobject: for GTK3{Agg,Cairo} backend python-wxpython: WX{,Agg,Cairo} backend python-cairo: {GTK3,Qt5,Tk,WX}Cairo backends python-cairocffi: alternative for Cairo backends python-tornado: WebAgg backend [installed] ffmpeg: for saving movies imagemagick: for saving animated gifs ghostscript: usetex dependencies texlive-bin: usetex dependencies texlive-latexextra: usetex usage with pdflatex python-certifi: https support [installed] installing snappy... installing blosc... installing libzip... installing netcdf... Optional dependencies for netcdf netcdf-fortran: fortran bindings netcdf-cxx: c++ bindings installing python-netcdf4... installing python-numexpr... installing python-pint... installing python-requests... Optional dependencies for python-requests python-pysocks: SOCKS proxy support installing python-appdirs... installing python-pooch... installing python-scipy... Optional dependencies for python-scipy python-pillow: for image saving module [installed] installing python-seaborn... Optional dependencies for python-seaborn python-statsmodels: for some advanced statistical plots [?25h==> Retrieving sources...  -> Found python-xarray-2023.01.0.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting python-xarray-2023.01.0.tar.gz with bsdtar ==> Starting build()... running build running build_py creating build creating build/lib creating build/lib/xarray copying xarray/__init__.py -> build/lib/xarray copying xarray/conventions.py -> build/lib/xarray copying xarray/convert.py -> build/lib/xarray copying xarray/testing.py -> build/lib/xarray copying xarray/tutorial.py -> build/lib/xarray creating build/lib/xarray/backends copying xarray/backends/__init__.py -> build/lib/xarray/backends copying xarray/backends/api.py -> build/lib/xarray/backends copying xarray/backends/cfgrib_.py -> build/lib/xarray/backends copying xarray/backends/common.py -> build/lib/xarray/backends copying xarray/backends/file_manager.py -> build/lib/xarray/backends copying xarray/backends/h5netcdf_.py -> build/lib/xarray/backends copying xarray/backends/locks.py -> build/lib/xarray/backends copying xarray/backends/lru_cache.py -> build/lib/xarray/backends copying xarray/backends/memory.py -> build/lib/xarray/backends copying xarray/backends/netCDF4_.py -> build/lib/xarray/backends copying xarray/backends/netcdf3.py -> build/lib/xarray/backends copying xarray/backends/plugins.py -> build/lib/xarray/backends copying xarray/backends/pseudonetcdf_.py -> build/lib/xarray/backends copying xarray/backends/pydap_.py -> build/lib/xarray/backends copying xarray/backends/pynio_.py -> build/lib/xarray/backends copying xarray/backends/rasterio_.py -> build/lib/xarray/backends copying xarray/backends/scipy_.py -> build/lib/xarray/backends copying xarray/backends/store.py -> build/lib/xarray/backends copying xarray/backends/zarr.py -> build/lib/xarray/backends creating build/lib/xarray/coding copying xarray/coding/__init__.py -> build/lib/xarray/coding copying xarray/coding/calendar_ops.py -> build/lib/xarray/coding copying xarray/coding/cftime_offsets.py -> build/lib/xarray/coding copying xarray/coding/cftimeindex.py -> build/lib/xarray/coding copying xarray/coding/frequencies.py -> build/lib/xarray/coding copying xarray/coding/strings.py -> build/lib/xarray/coding copying xarray/coding/times.py -> build/lib/xarray/coding copying xarray/coding/variables.py -> build/lib/xarray/coding creating build/lib/xarray/core copying xarray/core/__init__.py -> build/lib/xarray/core copying xarray/core/_aggregations.py -> build/lib/xarray/core copying xarray/core/_typed_ops.py -> build/lib/xarray/core copying xarray/core/accessor_dt.py -> build/lib/xarray/core copying xarray/core/accessor_str.py -> build/lib/xarray/core copying xarray/core/alignment.py -> build/lib/xarray/core copying xarray/core/arithmetic.py -> build/lib/xarray/core copying xarray/core/combine.py -> build/lib/xarray/core copying xarray/core/common.py -> build/lib/xarray/core copying xarray/core/computation.py -> build/lib/xarray/core copying xarray/core/concat.py -> build/lib/xarray/core copying xarray/core/coordinates.py -> build/lib/xarray/core copying xarray/core/dask_array_ops.py -> build/lib/xarray/core copying xarray/core/dataarray.py -> build/lib/xarray/core copying xarray/core/dataset.py -> build/lib/xarray/core copying xarray/core/dtypes.py -> build/lib/xarray/core copying xarray/core/duck_array_ops.py -> build/lib/xarray/core copying xarray/core/extensions.py -> build/lib/xarray/core copying xarray/core/formatting.py -> build/lib/xarray/core copying xarray/core/formatting_html.py -> build/lib/xarray/core copying xarray/core/groupby.py -> build/lib/xarray/core copying xarray/core/indexes.py -> build/lib/xarray/core copying xarray/core/indexing.py -> build/lib/xarray/core copying xarray/core/merge.py -> build/lib/xarray/core copying xarray/core/missing.py -> build/lib/xarray/core copying xarray/core/nanops.py -> build/lib/xarray/core copying xarray/core/npcompat.py -> build/lib/xarray/core copying xarray/core/nputils.py -> build/lib/xarray/core copying xarray/core/ops.py -> build/lib/xarray/core copying xarray/core/options.py -> build/lib/xarray/core copying xarray/core/parallel.py -> build/lib/xarray/core copying xarray/core/pdcompat.py -> build/lib/xarray/core copying xarray/core/pycompat.py -> build/lib/xarray/core copying xarray/core/resample.py -> build/lib/xarray/core copying xarray/core/resample_cftime.py -> build/lib/xarray/core copying xarray/core/rolling.py -> build/lib/xarray/core copying xarray/core/rolling_exp.py -> build/lib/xarray/core copying xarray/core/types.py -> build/lib/xarray/core copying xarray/core/utils.py -> build/lib/xarray/core copying xarray/core/variable.py -> build/lib/xarray/core copying xarray/core/weighted.py -> build/lib/xarray/core creating build/lib/xarray/indexes copying xarray/indexes/__init__.py -> build/lib/xarray/indexes creating build/lib/xarray/plot copying xarray/plot/__init__.py -> build/lib/xarray/plot copying xarray/plot/accessor.py -> build/lib/xarray/plot copying xarray/plot/dataarray_plot.py -> build/lib/xarray/plot copying xarray/plot/dataset_plot.py -> build/lib/xarray/plot copying xarray/plot/facetgrid.py -> build/lib/xarray/plot copying xarray/plot/utils.py -> build/lib/xarray/plot creating build/lib/xarray/static copying xarray/static/__init__.py -> build/lib/xarray/static creating build/lib/xarray/tests copying xarray/tests/__init__.py -> build/lib/xarray/tests copying xarray/tests/conftest.py -> build/lib/xarray/tests copying xarray/tests/test_accessor_dt.py -> build/lib/xarray/tests copying xarray/tests/test_accessor_str.py -> build/lib/xarray/tests copying xarray/tests/test_array_api.py -> build/lib/xarray/tests copying xarray/tests/test_backends.py -> build/lib/xarray/tests copying xarray/tests/test_backends_api.py -> build/lib/xarray/tests copying xarray/tests/test_backends_common.py -> build/lib/xarray/tests copying xarray/tests/test_backends_file_manager.py -> build/lib/xarray/tests copying xarray/tests/test_backends_locks.py -> build/lib/xarray/tests copying xarray/tests/test_backends_lru_cache.py -> build/lib/xarray/tests copying xarray/tests/test_calendar_ops.py -> build/lib/xarray/tests copying xarray/tests/test_cftime_offsets.py -> build/lib/xarray/tests copying xarray/tests/test_cftimeindex.py -> build/lib/xarray/tests copying xarray/tests/test_cftimeindex_resample.py -> build/lib/xarray/tests copying xarray/tests/test_coarsen.py -> build/lib/xarray/tests copying xarray/tests/test_coding.py -> build/lib/xarray/tests copying xarray/tests/test_coding_strings.py -> build/lib/xarray/tests copying xarray/tests/test_coding_times.py -> build/lib/xarray/tests copying xarray/tests/test_combine.py -> build/lib/xarray/tests copying xarray/tests/test_computation.py -> build/lib/xarray/tests copying xarray/tests/test_concat.py -> build/lib/xarray/tests copying xarray/tests/test_conventions.py -> build/lib/xarray/tests copying xarray/tests/test_cupy.py -> build/lib/xarray/tests copying xarray/tests/test_dask.py -> build/lib/xarray/tests copying xarray/tests/test_dataarray.py -> build/lib/xarray/tests copying xarray/tests/test_dataset.py -> build/lib/xarray/tests copying xarray/tests/test_deprecation_helpers.py -> build/lib/xarray/tests copying xarray/tests/test_distributed.py -> build/lib/xarray/tests copying xarray/tests/test_dtypes.py -> build/lib/xarray/tests copying xarray/tests/test_duck_array_ops.py -> build/lib/xarray/tests copying xarray/tests/test_extensions.py -> build/lib/xarray/tests copying xarray/tests/test_formatting.py -> build/lib/xarray/tests copying xarray/tests/test_formatting_html.py -> build/lib/xarray/tests copying xarray/tests/test_groupby.py -> build/lib/xarray/tests copying xarray/tests/test_indexes.py -> build/lib/xarray/tests copying xarray/tests/test_indexing.py -> build/lib/xarray/tests copying xarray/tests/test_interp.py -> build/lib/xarray/tests copying xarray/tests/test_merge.py -> build/lib/xarray/tests copying xarray/tests/test_missing.py -> build/lib/xarray/tests copying xarray/tests/test_nputils.py -> build/lib/xarray/tests copying xarray/tests/test_options.py -> build/lib/xarray/tests copying xarray/tests/test_plot.py -> build/lib/xarray/tests copying xarray/tests/test_plugins.py -> build/lib/xarray/tests copying xarray/tests/test_print_versions.py -> build/lib/xarray/tests copying xarray/tests/test_rolling.py -> build/lib/xarray/tests copying xarray/tests/test_sparse.py -> build/lib/xarray/tests copying xarray/tests/test_testing.py -> build/lib/xarray/tests copying xarray/tests/test_tutorial.py -> build/lib/xarray/tests copying xarray/tests/test_ufuncs.py -> build/lib/xarray/tests copying xarray/tests/test_units.py -> build/lib/xarray/tests copying xarray/tests/test_utils.py -> build/lib/xarray/tests copying xarray/tests/test_variable.py -> build/lib/xarray/tests copying xarray/tests/test_weighted.py -> build/lib/xarray/tests creating build/lib/xarray/util copying xarray/util/__init__.py -> build/lib/xarray/util copying xarray/util/deprecation_helpers.py -> build/lib/xarray/util copying xarray/util/generate_aggregations.py -> build/lib/xarray/util copying xarray/util/generate_ops.py -> build/lib/xarray/util copying xarray/util/print_versions.py -> build/lib/xarray/util creating build/lib/xarray/static/css copying xarray/static/css/__init__.py -> build/lib/xarray/static/css creating build/lib/xarray/static/html copying xarray/static/html/__init__.py -> build/lib/xarray/static/html running egg_info creating xarray.egg-info writing xarray.egg-info/PKG-INFO writing dependency_links to xarray.egg-info/dependency_links.txt writing requirements to xarray.egg-info/requires.txt writing top-level names to xarray.egg-info/top_level.txt writing manifest file 'xarray.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'xarray.egg-info/SOURCES.txt' /usr/lib/python3.10/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'xarray.tests.data' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'xarray.tests.data' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'xarray.tests.data' has been automatically added to the distribution only because it may contain data files, but this behavior is likely to change in future versions of setuptools (and therefore is considered deprecated). Please make sure that 'xarray.tests.data' is included as a package by using the `packages` configuration field or the proper discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" and "data files" on setuptools documentation page. !! check.warn(importable) copying xarray/py.typed -> build/lib/xarray creating build/lib/xarray/tests/data copying xarray/tests/data/bears.nc -> build/lib/xarray/tests/data copying xarray/tests/data/example.grib -> build/lib/xarray/tests/data copying xarray/tests/data/example.ict -> build/lib/xarray/tests/data copying xarray/tests/data/example.uamiv -> build/lib/xarray/tests/data copying xarray/tests/data/example_1.nc -> build/lib/xarray/tests/data copying xarray/tests/data/example_1.nc.gz -> build/lib/xarray/tests/data copying xarray/static/css/style.css -> build/lib/xarray/static/css copying xarray/static/html/icons-svg-inline.html -> build/lib/xarray/static/html copying xarray/core/_typed_ops.pyi -> build/lib/xarray/core ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.10.9, pytest-7.2.1, pluggy-1.0.0 -- /usr/bin/python cachedir: .pytest_cache hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/build/python-xarray/src/xarray-2023.01.0/.hypothesis/examples') rootdir: /build/python-xarray/src/xarray-2023.01.0, configfile: setup.cfg, testpaths: xarray/tests, properties plugins: xdist-3.2.0, hypothesis-6.59.0 collecting ... collected 16534 items / 1 deselected / 2 skipped / 16533 selected xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[month] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[hour] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[minute] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[second] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[microsecond] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[nanosecond] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[week] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[weekofyear] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[dayofweek] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[weekday] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[dayofyear] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[quarter] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[date] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[time] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[is_month_start] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[is_month_end] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[is_quarter_start] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[is_quarter_end] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[is_year_start] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[is_year_end] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_field_access[is_leap_year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_isocalendar[year-year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_isocalendar[week-week] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_isocalendar[weekday-day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_calendar PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_strftime PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_not_datetime_type PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[month] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[hour] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[minute] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[second] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[microsecond] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[nanosecond] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[week] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[weekofyear] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[dayofweek] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[weekday] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[dayofyear] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[quarter] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[date] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[time] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[is_month_start] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[is_month_end] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[is_quarter_start] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[is_quarter_end] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[is_year_start] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[is_year_end] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_field_access[is_leap_year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_isocalendar_dask[year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_isocalendar_dask[week] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_isocalendar_dask[weekday] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_accessor_method[floor-D] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_accessor_method[ceil-D] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_accessor_method[round-D] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_dask_accessor_method[strftime-%Y-%m-%d %H:%M:%S] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_seasons PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_accessor_method[floor-D] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_accessor_method[ceil-D] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestDatetimeAccessor::test_accessor_method[round-D] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_not_datetime_type PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_field_access[days] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_field_access[seconds] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_field_access[microseconds] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_field_access[nanoseconds] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_accessor_methods[floor-D] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_accessor_methods[ceil-D] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_accessor_methods[round-D] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_dask_field_access[days] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_dask_field_access[seconds] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_dask_field_access[microseconds] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_dask_field_access[nanoseconds] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_dask_accessor_method[floor-D] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_dask_accessor_method[ceil-D] PASSED [ 0%] xarray/tests/test_accessor_dt.py::TestTimedeltaAccessor::test_dask_accessor_method[round-D] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[365_day-year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[365_day-month] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[365_day-day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[365_day-hour] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[365_day-dayofyear] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[365_day-dayofweek] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[360_day-year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[360_day-month] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[360_day-day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[360_day-hour] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[360_day-dayofyear] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[360_day-dayofweek] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[julian-year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[julian-month] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[julian-day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[julian-hour] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[julian-dayofyear] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[julian-dayofweek] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[all_leap-year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[all_leap-month] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[all_leap-day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[all_leap-hour] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[all_leap-dayofyear] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[all_leap-dayofweek] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[366_day-year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[366_day-month] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[366_day-day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[366_day-hour] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[366_day-dayofyear] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[366_day-dayofweek] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[gregorian-year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[gregorian-month] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[gregorian-day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[gregorian-hour] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[gregorian-dayofyear] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[gregorian-dayofweek] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[proleptic_gregorian-year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[proleptic_gregorian-month] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[proleptic_gregorian-day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[proleptic_gregorian-hour] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[proleptic_gregorian-dayofyear] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_field_access[proleptic_gregorian-dayofweek] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_calendar_cftime[365_day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_calendar_cftime[360_day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_calendar_cftime[julian] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_calendar_cftime[all_leap] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_calendar_cftime[366_day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_calendar_cftime[gregorian] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_calendar_cftime[proleptic_gregorian] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_calendar_datetime64_2d PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_calendar_datetime64_3d_dask PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_calendar_dask_cftime PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_isocalendar_cftime[365_day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_isocalendar_cftime[360_day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_isocalendar_cftime[julian] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_isocalendar_cftime[all_leap] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_isocalendar_cftime[366_day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_isocalendar_cftime[gregorian] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_isocalendar_cftime[proleptic_gregorian] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_date_cftime[365_day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_date_cftime[360_day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_date_cftime[julian] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_date_cftime[all_leap] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_date_cftime[366_day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_date_cftime[gregorian] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_date_cftime[proleptic_gregorian] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_cftime_strftime_access[365_day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_cftime_strftime_access[360_day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_cftime_strftime_access[julian] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_cftime_strftime_access[all_leap] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_cftime_strftime_access[366_day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_cftime_strftime_access[gregorian] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_cftime_strftime_access[proleptic_gregorian] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[365_day-year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[365_day-month] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[365_day-day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[365_day-hour] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[365_day-dayofyear] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[365_day-dayofweek] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[360_day-year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[360_day-month] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[360_day-day] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[360_day-hour] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[360_day-dayofyear] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[360_day-dayofweek] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[julian-year] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[julian-month] PASSED [ 0%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[julian-day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[julian-hour] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[julian-dayofyear] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[julian-dayofweek] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[all_leap-year] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[all_leap-month] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[all_leap-day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[all_leap-hour] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[all_leap-dayofyear] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[all_leap-dayofweek] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[366_day-year] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[366_day-month] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[366_day-day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[366_day-hour] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[366_day-dayofyear] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[366_day-dayofweek] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[gregorian-year] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[gregorian-month] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[gregorian-day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[gregorian-hour] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[gregorian-dayofyear] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[gregorian-dayofweek] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[proleptic_gregorian-year] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[proleptic_gregorian-month] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[proleptic_gregorian-day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[proleptic_gregorian-hour] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[proleptic_gregorian-dayofyear] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access_1d[proleptic_gregorian-dayofweek] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[365_day-year] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[365_day-month] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[365_day-day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[365_day-hour] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[365_day-dayofyear] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[365_day-dayofweek] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[360_day-year] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[360_day-month] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[360_day-day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[360_day-hour] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[360_day-dayofyear] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[360_day-dayofweek] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[julian-year] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[julian-month] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[julian-day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[julian-hour] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[julian-dayofyear] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[julian-dayofweek] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[all_leap-year] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[all_leap-month] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[all_leap-day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[all_leap-hour] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[all_leap-dayofyear] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[all_leap-dayofweek] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[366_day-year] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[366_day-month] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[366_day-day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[366_day-hour] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[366_day-dayofyear] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[366_day-dayofweek] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[gregorian-year] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[gregorian-month] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[gregorian-day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[gregorian-hour] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[gregorian-dayofyear] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[gregorian-dayofweek] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[proleptic_gregorian-year] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[proleptic_gregorian-month] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[proleptic_gregorian-day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[proleptic_gregorian-hour] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[proleptic_gregorian-dayofyear] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_dask_field_access[proleptic_gregorian-dayofweek] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_seasons[365_day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_seasons[360_day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_seasons[julian] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_seasons[all_leap] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_seasons[366_day] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_seasons[gregorian] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_seasons[proleptic_gregorian] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_floor_accessor[365_day-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_floor_accessor[365_day-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_floor_accessor[360_day-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_floor_accessor[360_day-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_floor_accessor[julian-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_floor_accessor[julian-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_floor_accessor[all_leap-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_floor_accessor[all_leap-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_floor_accessor[366_day-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_floor_accessor[366_day-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_floor_accessor[gregorian-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_floor_accessor[gregorian-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_floor_accessor[proleptic_gregorian-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_floor_accessor[proleptic_gregorian-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_ceil_accessor[365_day-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_ceil_accessor[365_day-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_ceil_accessor[360_day-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_ceil_accessor[360_day-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_ceil_accessor[julian-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_ceil_accessor[julian-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_ceil_accessor[all_leap-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_ceil_accessor[all_leap-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_ceil_accessor[366_day-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_ceil_accessor[366_day-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_ceil_accessor[gregorian-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_ceil_accessor[gregorian-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_ceil_accessor[proleptic_gregorian-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_ceil_accessor[proleptic_gregorian-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_round_accessor[365_day-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_round_accessor[365_day-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_round_accessor[360_day-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_round_accessor[360_day-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_round_accessor[julian-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_round_accessor[julian-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_round_accessor[all_leap-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_round_accessor[all_leap-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_round_accessor[366_day-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_round_accessor[366_day-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_round_accessor[gregorian-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_round_accessor[gregorian-True] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_round_accessor[proleptic_gregorian-False] PASSED [ 1%] xarray/tests/test_accessor_dt.py::test_cftime_round_accessor[proleptic_gregorian-True] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_dask PASSED [ 1%] xarray/tests/test_accessor_str.py::test_count[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_count[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_count_broadcast[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_count_broadcast[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_contains[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_contains[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_contains_broadcast[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_contains_broadcast[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_starts_ends_with[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_starts_ends_with[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_starts_ends_with_broadcast[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_starts_ends_with_broadcast[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_case_bytes PASSED [ 1%] xarray/tests/test_accessor_str.py::test_case_str PASSED [ 1%] xarray/tests/test_accessor_str.py::test_replace[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_replace[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_replace_callable PASSED [ 1%] xarray/tests/test_accessor_str.py::test_replace_unicode PASSED [ 1%] xarray/tests/test_accessor_str.py::test_replace_compiled_regex[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_replace_compiled_regex[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_replace_literal[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_replace_literal[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_extractall_findall_empty_raises[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_extractall_findall_empty_raises[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_multi_None_raises[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_multi_None_raises[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_extractall_findall_case_re_raises[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_extractall_findall_case_re_raises[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_extractall_name_collision_raises[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_extractall_name_collision_raises[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_single_case[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_single_case[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_single_nocase[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_single_nocase[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_multi_case[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_multi_case[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_multi_nocase[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_multi_nocase[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_broadcast[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extract_broadcast[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extractall_single_single_case[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extractall_single_single_case[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extractall_single_single_nocase[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extractall_single_single_nocase[bytes] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extractall_single_multi_case[str] PASSED [ 1%] xarray/tests/test_accessor_str.py::test_extractall_single_multi_case[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_extractall_single_multi_nocase[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_extractall_single_multi_nocase[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_extractall_multi_single_case[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_extractall_multi_single_case[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_extractall_multi_single_nocase[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_extractall_multi_single_nocase[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_extractall_multi_multi_case[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_extractall_multi_multi_case[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_extractall_multi_multi_nocase[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_extractall_multi_multi_nocase[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_extractall_broadcast[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_extractall_broadcast[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_single_single_case[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_single_single_case[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_single_single_nocase[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_single_single_nocase[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_single_multi_case[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_single_multi_case[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_single_multi_nocase[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_single_multi_nocase[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_multi_single_case[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_multi_single_case[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_multi_single_nocase[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_multi_single_nocase[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_multi_multi_case[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_multi_multi_case[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_multi_multi_nocase[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_multi_multi_nocase[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_broadcast[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_findall_broadcast[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_repeat[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_repeat[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_repeat_broadcast[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_repeat_broadcast[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_match[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_match[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_empty_str_methods PASSED [ 2%] xarray/tests/test_accessor_str.py::test_ismethods[str-isalnum] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_ismethods[str-isalpha] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_ismethods[str-isdigit] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_ismethods[str-islower] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_ismethods[str-isspace] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_ismethods[str-istitle] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_ismethods[str-isupper] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_ismethods[bytes-isalnum] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_ismethods[bytes-isalpha] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_ismethods[bytes-isdigit] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_ismethods[bytes-islower] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_ismethods[bytes-isspace] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_ismethods[bytes-istitle] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_ismethods[bytes-isupper] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_isnumeric PASSED [ 2%] xarray/tests/test_accessor_str.py::test_len[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_len[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_find[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_find[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_find_broadcast[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_find_broadcast[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_index[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_index[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_index_broadcast[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_index_broadcast[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_translate PASSED [ 2%] xarray/tests/test_accessor_str.py::test_pad_center_ljust_rjust[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_pad_center_ljust_rjust[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_pad_center_ljust_rjust_fillchar[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_pad_center_ljust_rjust_fillchar[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_pad_center_ljust_rjust_broadcast[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_pad_center_ljust_rjust_broadcast[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_zfill[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_zfill[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_zfill_broadcast[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_zfill_broadcast[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_slice[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_slice[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_slice_broadcast[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_slice_broadcast[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_slice_replace[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_slice_replace[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_slice_replace_broadcast[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_slice_replace_broadcast[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_strip_lstrip_rstrip[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_strip_lstrip_rstrip[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_strip_lstrip_rstrip_args[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_strip_lstrip_rstrip_args[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_strip_lstrip_rstrip_broadcast[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_strip_lstrip_rstrip_broadcast[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_wrap PASSED [ 2%] xarray/tests/test_accessor_str.py::test_wrap_kwargs_passed PASSED [ 2%] xarray/tests/test_accessor_str.py::test_get[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_get[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_get_default[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_get_default[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_get_broadcast[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_get_broadcast[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_encode_decode PASSED [ 2%] xarray/tests/test_accessor_str.py::test_encode_decode_errors PASSED [ 2%] xarray/tests/test_accessor_str.py::test_partition_whitespace[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_partition_whitespace[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_partition_comma[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_partition_comma[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_partition_empty[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_partition_empty[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_nodim[str-split_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_nodim[str-rsplit_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_nodim[str-split_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_nodim[str-rsplit_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_nodim[bytes-split_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_nodim[bytes-rsplit_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_nodim[bytes-split_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_nodim[bytes-rsplit_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_dim[str-split_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_dim[str-rsplit_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_dim[str-split_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_dim[str-rsplit_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_dim[bytes-split_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_dim[bytes-rsplit_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_dim[bytes-split_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_whitespace_dim[bytes-rsplit_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_nodim[str-split_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_nodim[str-rsplit_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_nodim[str-split_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_nodim[str-rsplit_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_nodim[str-split_10] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_nodim[str-rsplit_10] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_nodim[bytes-split_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_nodim[bytes-rsplit_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_nodim[bytes-split_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_nodim[bytes-rsplit_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_nodim[bytes-split_10] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_nodim[bytes-rsplit_10] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_dim[str-split_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_dim[str-rsplit_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_dim[str-split_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_dim[str-rsplit_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_dim[str-split_10] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_dim[str-rsplit_10] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_dim[bytes-split_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_dim[bytes-rsplit_full] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_dim[bytes-split_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_dim[bytes-rsplit_1] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_dim[bytes-split_10] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_comma_dim[bytes-rsplit_10] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_splitters_broadcast[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_splitters_broadcast[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_empty[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_split_empty[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_get_dummies[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_get_dummies[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_get_dummies_broadcast[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_get_dummies_broadcast[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_get_dummies_empty[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_get_dummies_empty[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_splitters_empty_str[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_splitters_empty_str[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_cat_str[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_cat_str[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_cat_uniform[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_cat_uniform[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_cat_broadcast_right[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_cat_broadcast_right[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_cat_broadcast_left[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_cat_broadcast_left[bytes] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_cat_broadcast_both[str] PASSED [ 2%] xarray/tests/test_accessor_str.py::test_cat_broadcast_both[bytes] PASSED [ 3%] xarray/tests/test_accessor_str.py::test_cat_multi PASSED [ 3%] xarray/tests/test_accessor_str.py::test_join_scalar[str] PASSED [ 3%] xarray/tests/test_accessor_str.py::test_join_scalar[bytes] PASSED [ 3%] xarray/tests/test_accessor_str.py::test_join_vector[str] PASSED [ 3%] xarray/tests/test_accessor_str.py::test_join_vector[bytes] PASSED [ 3%] xarray/tests/test_accessor_str.py::test_join_2d[str] PASSED [ 3%] xarray/tests/test_accessor_str.py::test_join_2d[bytes] PASSED [ 3%] xarray/tests/test_accessor_str.py::test_join_broadcast[str] PASSED [ 3%] xarray/tests/test_accessor_str.py::test_join_broadcast[bytes] PASSED [ 3%] xarray/tests/test_accessor_str.py::test_format_scalar PASSED [ 3%] xarray/tests/test_accessor_str.py::test_format_broadcast PASSED [ 3%] xarray/tests/test_accessor_str.py::test_mod_scalar PASSED [ 3%] xarray/tests/test_accessor_str.py::test_mod_dict PASSED [ 3%] xarray/tests/test_accessor_str.py::test_mod_broadcast_single PASSED [ 3%] xarray/tests/test_accessor_str.py::test_mod_broadcast_multi PASSED [ 3%] xarray/tests/test_array_api.py::test_arithmetic PASSED [ 3%] xarray/tests/test_array_api.py::test_aggregation PASSED [ 3%] xarray/tests/test_array_api.py::test_aggregation_skipna PASSED [ 3%] xarray/tests/test_array_api.py::test_astype PASSED [ 3%] xarray/tests/test_array_api.py::test_broadcast PASSED [ 3%] xarray/tests/test_array_api.py::test_concat PASSED [ 3%] xarray/tests/test_array_api.py::test_indexing PASSED [ 3%] xarray/tests/test_array_api.py::test_properties PASSED [ 3%] xarray/tests/test_array_api.py::test_reorganizing_operation PASSED [ 3%] xarray/tests/test_array_api.py::test_stack PASSED [ 3%] xarray/tests/test_array_api.py::test_where PASSED [ 3%] xarray/tests/test_backends.py::TestCommon::test_robust_getitem PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_zero_dimensional_variable PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_write_store PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_test_data PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_load PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_dataset_compute PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_pickle PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_pickle_dataarray PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_dataset_caching PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_None_variable PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_object_dtype PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_string_data PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_string_encoded_characters PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_numpy_datetime_data FAILED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_cftime_datetime_data PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_timedelta_data PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_float64_data PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_example_1_netcdf PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_coordinates PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_global_coordinates PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_coordinates_with_space PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_boolean_dtype PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_orthogonal_indexing PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_vectorized_indexing PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_vectorized_indexing_negative_step XPASS (zarr without dask handles negative steps in slices incorrectly) [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_isel_dataarray PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_array_type_after_indexing PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_dropna PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_ondisk_after_print PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_bytes_with_fill_value PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_string_with_fill_value_nchar PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] XFAIL (Bad _Unsigned attribute.) [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_grid_mapping_and_bounds_are_not_coordinates_in_file PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_coordinate_variables_after_dataset_roundtrip PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_coordinates_encoding PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_endian PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_invalid_dataarray_names_raise PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_encoding_kwarg PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_encoding_kwarg_dates PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_encoding_kwarg_fixed_width_string PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_default_fill_value PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_explicitly_omit_fill_value PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_explicitly_omit_fill_value_via_encoding_kwarg PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_explicitly_omit_fill_value_in_coord PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_encoding_same_dtype PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_append_write PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_append_overwrite_values PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_append_with_invalid_dim_raises PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_multiindex_not_implemented PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_open_group PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_open_subgroup PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_write_groups PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_encoding_kwarg_vlen_string PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_string_with_fill_value_vlen PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_character_array PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_default_to_char_arrays PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_open_encodings PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_dump_encodings PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_dump_and_open_encodings PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_encoding_kwarg_compression PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_keep_chunksizes_if_no_original_shape PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_encoding_chunksizes_unlimited PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_mask_and_scale PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_0dimensional_variable PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_read_variable_len_strings PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_encoding_unlimited_dims PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_variable_order PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_unsorted_index_raises PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_setncattr_string PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4Data::test_refresh_from_disk SKIPPED (https://github.com/Unidata/netcdf4-python/issues/1195) [ 3%] xarray/tests/test_backends.py::TestNetCDF4AlreadyOpen::test_base_case PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4AlreadyOpen::test_group PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4AlreadyOpen::test_deepcopy PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_zero_dimensional_variable PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_write_store PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_test_data PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_load PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_dataset_compute PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_pickle PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_pickle_dataarray PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_None_variable PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_object_dtype PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_string_data PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_string_encoded_characters PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_numpy_datetime_data FAILED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_cftime_datetime_data PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_timedelta_data PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_float64_data PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_example_1_netcdf PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_coordinates PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_global_coordinates PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_coordinates_with_space PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_boolean_dtype PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_orthogonal_indexing PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_vectorized_indexing PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_vectorized_indexing_negative_step XPASS (zarr without dask handles negative steps in slices incorrectly) [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_isel_dataarray PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_array_type_after_indexing PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_dropna PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_ondisk_after_print PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_bytes_with_fill_value PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_string_with_fill_value_nchar PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] XFAIL (Bad _Unsigned attribute.) [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_grid_mapping_and_bounds_are_not_coordinates_in_file PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_coordinate_variables_after_dataset_roundtrip PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_coordinates_encoding PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_endian PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_invalid_dataarray_names_raise PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_encoding_kwarg PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_encoding_kwarg_dates PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_encoding_kwarg_fixed_width_string PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_default_fill_value PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_explicitly_omit_fill_value PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_explicitly_omit_fill_value_via_encoding_kwarg PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_explicitly_omit_fill_value_in_coord PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_encoding_same_dtype PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_append_write PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_append_overwrite_values PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_append_with_invalid_dim_raises PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_multiindex_not_implemented PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_open_group PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_open_subgroup PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_write_groups PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_encoding_kwarg_vlen_string PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_string_with_fill_value_vlen PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_character_array PASSED [ 3%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_default_to_char_arrays PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_open_encodings PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_dump_encodings PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_dump_and_open_encodings PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_compression_encoding PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_encoding_kwarg_compression PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_keep_chunksizes_if_no_original_shape PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_encoding_chunksizes_unlimited PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_mask_and_scale PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_0dimensional_variable PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_read_variable_len_strings PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_encoding_unlimited_dims PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_variable_order PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_setncattr_string PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_refresh_from_disk SKIPPED (https://github.com/Unidata/netcdf4-python/issues/1195) [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_unsorted_index_raises PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_dataset_caching PASSED [ 4%] xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_write_inconsistent_chunks PASSED [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_zero_dimensional_variable SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_store SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_test_data SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_load SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_dataset_compute SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_pickle SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_pickle_dataarray SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_None_variable SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_object_dtype SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_string_data SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_string_encoded_characters SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_numpy_datetime_data SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_cftime_datetime_data SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_timedelta_data SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_float64_data SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_example_1_netcdf SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_coordinates SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_global_coordinates SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_coordinates_with_space SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_boolean_dtype SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_orthogonal_indexing SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_vectorized_indexing SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_vectorized_indexing_negative_step SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_isel_dataarray SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_array_type_after_indexing SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_dropna SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_ondisk_after_print SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_bytes_with_fill_value SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_string_with_fill_value_nchar SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_grid_mapping_and_bounds_are_not_coordinates_in_file SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_coordinate_variables_after_dataset_roundtrip SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_coordinates_encoding SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_endian SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_invalid_dataarray_names_raise SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_encoding_kwarg SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_encoding_kwarg_dates SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_default_fill_value SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_explicitly_omit_fill_value SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_explicitly_omit_fill_value_via_encoding_kwarg SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_explicitly_omit_fill_value_in_coord SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_encoding_same_dtype SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_append_overwrite_values SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_multiindex_not_implemented SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_consolidated[False] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_consolidated[True] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_roundtrip_consolidated[None] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_read_non_consolidated_warning SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_non_existent_store SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_with_chunkstore SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_auto_chunk SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_manual_chunk SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_warning_on_bad_chunks SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_deprecate_auto_chunk SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_uneven_dask_chunks SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_chunk_encoding SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_chunk_encoding_with_dask SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_hidden_zarr_keys SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_persistence_modes[None] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_persistence_modes[group1] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_compressor_encoding SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_group SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_encoding_kwarg_fixed_width_string SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_dataset_caching SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_append_write SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_append_with_mode_rplus_success SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_append_with_mode_rplus_fails SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_append_with_invalid_dim_raises SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_append_with_no_dims_raises SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_append_with_append_dim_not_set_raises SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_append_with_mode_not_a_raises SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_append_with_existing_encoding_raises SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_append_string_length_mismatch_raises[U] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_append_string_length_mismatch_raises[S] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_check_encoding_is_consistent_after_append SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_append_with_new_variable SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_to_zarr_compute_false_roundtrip SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_to_zarr_append_compute_false_roundtrip SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_save_emptydim[False] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_save_emptydim[True] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_no_warning_from_open_emptydim_with_chunks SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region[False-False-False] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region[False-False-True] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region[False-False-None] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region[False-True-False] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region[False-True-True] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region[False-True-None] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region[True-False-False] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region[True-False-True] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region[True-False-None] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region[True-True-False] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region[True-True-True] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region[True-True-None] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region_mode[None] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region_mode[r+] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region_mode[a] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_preexisting_override_metadata SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_region_errors SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_encoding_chunksizes SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_chunk_encoding_with_partial_dask_chunks SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_chunk_encoding_with_larger_dask_chunks SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_open_zarr_use_cftime SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_write_read_select_write SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_attributes[obj0] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDictStore::test_attributes[obj1] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_zero_dimensional_variable SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_store SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_test_data SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_load SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_dataset_compute SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_pickle SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_pickle_dataarray SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_None_variable SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_object_dtype SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_string_data SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_string_encoded_characters SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_numpy_datetime_data SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_cftime_datetime_data SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_timedelta_data SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_float64_data SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_example_1_netcdf SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_coordinates SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_global_coordinates SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_coordinates_with_space SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_boolean_dtype SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_orthogonal_indexing SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_vectorized_indexing SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_vectorized_indexing_negative_step SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_isel_dataarray SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_array_type_after_indexing SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_dropna SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_ondisk_after_print SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_bytes_with_fill_value SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_string_with_fill_value_nchar SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_grid_mapping_and_bounds_are_not_coordinates_in_file SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_coordinate_variables_after_dataset_roundtrip SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip SKIPPED (requires zarr) [ 4%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_coordinates_encoding SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_endian SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_invalid_dataarray_names_raise SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_encoding_kwarg SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_encoding_kwarg_dates SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_default_fill_value SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_explicitly_omit_fill_value SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_explicitly_omit_fill_value_via_encoding_kwarg SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_explicitly_omit_fill_value_in_coord SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_encoding_same_dtype SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_append_overwrite_values SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_multiindex_not_implemented SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_consolidated[False] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_consolidated[True] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_roundtrip_consolidated[None] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_read_non_consolidated_warning SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_non_existent_store SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_with_chunkstore SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_auto_chunk SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_manual_chunk SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_warning_on_bad_chunks SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_deprecate_auto_chunk SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_uneven_dask_chunks SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_chunk_encoding SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_chunk_encoding_with_dask SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_hidden_zarr_keys SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_persistence_modes[None] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_persistence_modes[group1] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_compressor_encoding SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_group SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_encoding_kwarg_fixed_width_string SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_dataset_caching SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_append_write SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_append_with_mode_rplus_success SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_append_with_mode_rplus_fails SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_append_with_invalid_dim_raises SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_append_with_no_dims_raises SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_append_with_append_dim_not_set_raises SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_append_with_mode_not_a_raises SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_append_with_existing_encoding_raises SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_append_string_length_mismatch_raises[U] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_append_string_length_mismatch_raises[S] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_check_encoding_is_consistent_after_append SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_append_with_new_variable SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_to_zarr_compute_false_roundtrip SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_to_zarr_append_compute_false_roundtrip SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_save_emptydim[False] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_save_emptydim[True] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_no_warning_from_open_emptydim_with_chunks SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region[False-False-False] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region[False-False-True] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region[False-False-None] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region[False-True-False] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region[False-True-True] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region[False-True-None] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region[True-False-False] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region[True-False-True] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region[True-False-None] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region[True-True-False] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region[True-True-True] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region[True-True-None] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region_mode[None] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region_mode[r+] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region_mode[a] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_preexisting_override_metadata SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_region_errors SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_encoding_chunksizes SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_chunk_encoding_with_partial_dask_chunks SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_chunk_encoding_with_larger_dask_chunks SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_open_zarr_use_cftime SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_write_read_select_write SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_attributes[obj0] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrDirectoryStore::test_attributes[obj1] SKIPPED (requires zarr) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_zero_dimensional_variable SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_store SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_test_data SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_load SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_dataset_compute SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_pickle SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_pickle_dataarray SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_None_variable SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_object_dtype SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_string_data SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_string_encoded_characters SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_numpy_datetime_data SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_cftime_datetime_data SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_timedelta_data SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_float64_data SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_example_1_netcdf SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_coordinates SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_global_coordinates SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_boolean_dtype SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_orthogonal_indexing SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_vectorized_indexing SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_vectorized_indexing_negative_step SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_isel_dataarray SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_array_type_after_indexing SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_dropna SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_ondisk_after_print SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_bytes_with_fill_value SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_string_with_fill_value_nchar SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_grid_mapping_and_bounds_are_not_coordinates_in_file SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_coordinate_variables_after_dataset_roundtrip SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_coordinates_encoding SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_endian SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_invalid_dataarray_names_raise SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_encoding_kwarg SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_encoding_kwarg_dates SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_default_fill_value SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_explicitly_omit_fill_value SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_explicitly_omit_fill_value_via_encoding_kwarg SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_explicitly_omit_fill_value_in_coord SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_encoding_same_dtype SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_append_overwrite_values SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_multiindex_not_implemented SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_consolidated[False] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_consolidated[True] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_consolidated[None] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_read_non_consolidated_warning SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_non_existent_store SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_with_chunkstore SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_auto_chunk SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_manual_chunk SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_warning_on_bad_chunks SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_deprecate_auto_chunk SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_uneven_dask_chunks SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_chunk_encoding SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_chunk_encoding_with_dask SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_hidden_zarr_keys SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_persistence_modes[None] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_persistence_modes[group1] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_compressor_encoding SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_group SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_encoding_kwarg_fixed_width_string SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_dataset_caching SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_append_write SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_append_with_mode_rplus_success SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_append_with_mode_rplus_fails SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_append_with_invalid_dim_raises SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_append_with_no_dims_raises SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_append_with_append_dim_not_set_raises SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_append_with_mode_not_a_raises SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_append_with_existing_encoding_raises SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_append_string_length_mismatch_raises[U] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_append_string_length_mismatch_raises[S] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_check_encoding_is_consistent_after_append SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_append_with_new_variable SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_to_zarr_compute_false_roundtrip SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_to_zarr_append_compute_false_roundtrip SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_save_emptydim[False] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_save_emptydim[True] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_no_warning_from_open_emptydim_with_chunks SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region[False-False-False] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region[False-False-True] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region[False-False-None] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region[False-True-False] SKIPPED (requires zarr version 3) [ 5%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region[False-True-True] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region[False-True-None] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region[True-False-False] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region[True-False-True] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region[True-False-None] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region[True-True-False] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region[True-True-True] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region[True-True-None] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region_mode[None] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region_mode[r+] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region_mode[a] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_preexisting_override_metadata SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_region_errors SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_encoding_chunksizes SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_chunk_encoding_with_partial_dask_chunks SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_chunk_encoding_with_larger_dask_chunks SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_open_zarr_use_cftime SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_write_read_select_write SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_attributes[obj0] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_attributes[obj1] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrKVStoreV3::test_roundtrip_coordinates_with_space SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_zero_dimensional_variable SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_store SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_test_data SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_load SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_dataset_compute SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_pickle SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_pickle_dataarray SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_None_variable SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_object_dtype SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_string_data SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_string_encoded_characters SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_numpy_datetime_data SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_cftime_datetime_data SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_timedelta_data SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_float64_data SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_example_1_netcdf SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_coordinates SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_global_coordinates SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_boolean_dtype SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_orthogonal_indexing SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_vectorized_indexing SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_vectorized_indexing_negative_step SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_isel_dataarray SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_array_type_after_indexing SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_dropna SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_ondisk_after_print SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_bytes_with_fill_value SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_string_with_fill_value_nchar SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_grid_mapping_and_bounds_are_not_coordinates_in_file SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_coordinate_variables_after_dataset_roundtrip SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_coordinates_encoding SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_endian SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_invalid_dataarray_names_raise SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_encoding_kwarg SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_encoding_kwarg_dates SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_default_fill_value SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_explicitly_omit_fill_value SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_explicitly_omit_fill_value_via_encoding_kwarg SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_explicitly_omit_fill_value_in_coord SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_encoding_same_dtype SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_append_overwrite_values SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_multiindex_not_implemented SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_consolidated[False] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_consolidated[True] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_consolidated[None] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_read_non_consolidated_warning SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_non_existent_store SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_with_chunkstore SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_auto_chunk SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_manual_chunk SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_warning_on_bad_chunks SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_deprecate_auto_chunk SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_uneven_dask_chunks SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_chunk_encoding SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_chunk_encoding_with_dask SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_hidden_zarr_keys SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_persistence_modes[None] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_persistence_modes[group1] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_compressor_encoding SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_group SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_encoding_kwarg_fixed_width_string SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_dataset_caching SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_append_write SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_append_with_mode_rplus_success SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_append_with_mode_rplus_fails SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_append_with_invalid_dim_raises SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_append_with_no_dims_raises SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_append_with_append_dim_not_set_raises SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_append_with_mode_not_a_raises SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_append_with_existing_encoding_raises SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_append_string_length_mismatch_raises[U] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_append_string_length_mismatch_raises[S] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_check_encoding_is_consistent_after_append SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_append_with_new_variable SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_to_zarr_compute_false_roundtrip SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_to_zarr_append_compute_false_roundtrip SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_save_emptydim[False] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_save_emptydim[True] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_no_warning_from_open_emptydim_with_chunks SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region[False-False-False] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region[False-False-True] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region[False-False-None] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region[False-True-False] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region[False-True-True] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region[False-True-None] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region[True-False-False] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region[True-False-True] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region[True-False-None] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region[True-True-False] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region[True-True-True] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region[True-True-None] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region_mode[None] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region_mode[r+] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region_mode[a] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_preexisting_override_metadata SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_region_errors SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_encoding_chunksizes SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_chunk_encoding_with_partial_dask_chunks SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_chunk_encoding_with_larger_dask_chunks SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_open_zarr_use_cftime SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_write_read_select_write SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_attributes[obj0] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_attributes[obj1] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3::test_roundtrip_coordinates_with_space SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_zero_dimensional_variable SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_store SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_test_data SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_load SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_dataset_compute SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_pickle SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_pickle_dataarray SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_None_variable SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_object_dtype SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_string_data SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_string_encoded_characters SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_numpy_datetime_data SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_cftime_datetime_data SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_timedelta_data SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_float64_data SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_example_1_netcdf SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_coordinates SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_global_coordinates SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_boolean_dtype SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_orthogonal_indexing SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_vectorized_indexing SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_vectorized_indexing_negative_step SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_isel_dataarray SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_array_type_after_indexing SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_dropna SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_ondisk_after_print SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_bytes_with_fill_value SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_string_with_fill_value_nchar SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_grid_mapping_and_bounds_are_not_coordinates_in_file SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_coordinate_variables_after_dataset_roundtrip SKIPPED (requires zarr version 3) [ 6%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_coordinates_encoding SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_endian SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_invalid_dataarray_names_raise SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_encoding_kwarg SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_encoding_kwarg_dates SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_default_fill_value SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_explicitly_omit_fill_value SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_explicitly_omit_fill_value_via_encoding_kwarg SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_explicitly_omit_fill_value_in_coord SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_encoding_same_dtype SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_append_overwrite_values SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_multiindex_not_implemented SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_consolidated[False] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_consolidated[True] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_consolidated[None] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_read_non_consolidated_warning SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_non_existent_store SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_with_chunkstore SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_auto_chunk SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_manual_chunk SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_warning_on_bad_chunks SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_deprecate_auto_chunk SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_uneven_dask_chunks SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_chunk_encoding SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_chunk_encoding_with_dask SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_hidden_zarr_keys SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_persistence_modes[None] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_persistence_modes[group1] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_compressor_encoding SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_group SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_encoding_kwarg_fixed_width_string SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_dataset_caching SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_append_write SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_append_with_mode_rplus_success SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_append_with_mode_rplus_fails SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_append_with_invalid_dim_raises SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_append_with_no_dims_raises SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_append_with_append_dim_not_set_raises SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_append_with_mode_not_a_raises SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_append_with_existing_encoding_raises SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_append_string_length_mismatch_raises[U] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_append_string_length_mismatch_raises[S] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_check_encoding_is_consistent_after_append SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_append_with_new_variable SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_to_zarr_compute_false_roundtrip SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_to_zarr_append_compute_false_roundtrip SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_save_emptydim[False] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_save_emptydim[True] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_no_warning_from_open_emptydim_with_chunks SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region[False-False-False] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region[False-False-True] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region[False-False-None] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region[False-True-False] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region[False-True-True] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region[False-True-None] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region[True-False-False] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region[True-False-True] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region[True-False-None] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region[True-True-False] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region[True-True-True] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region[True-True-None] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region_mode[None] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region_mode[r+] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region_mode[a] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_preexisting_override_metadata SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_region_errors SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_encoding_chunksizes SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_chunk_encoding_with_partial_dask_chunks SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_chunk_encoding_with_larger_dask_chunks SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_open_zarr_use_cftime SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_write_read_select_write SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_attributes[obj0] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_attributes[obj1] SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::TestZarrDirectoryStoreV3FromPath::test_roundtrip_coordinates_with_space SKIPPED (requires zarr version 3) [ 7%] xarray/tests/test_backends.py::test_zarr_storage_options SKIPPED (requires zarr) [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_dtype_coercion_error PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_zero_dimensional_variable PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_write_store PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_test_data PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_load PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_dataset_compute PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_pickle PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_pickle_dataarray PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_dataset_caching PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_None_variable PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_object_dtype PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_string_data PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_string_encoded_characters PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_numpy_datetime_data FAILED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_cftime_datetime_data PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_timedelta_data PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_float64_data PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_example_1_netcdf PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_coordinates PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_global_coordinates PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_coordinates_with_space PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_boolean_dtype PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_orthogonal_indexing PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_vectorized_indexing PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_vectorized_indexing_negative_step XPASS (zarr without dask handles negative steps in slices incorrectly) [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_isel_dataarray PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_array_type_after_indexing PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_dropna PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_ondisk_after_print PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_bytes_with_fill_value PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_string_with_fill_value_nchar PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] XFAIL (Bad _Unsigned attribute.) [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_grid_mapping_and_bounds_are_not_coordinates_in_file PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_coordinate_variables_after_dataset_roundtrip PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_coordinates_encoding PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_endian PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_invalid_dataarray_names_raise PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_encoding_kwarg PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_encoding_kwarg_dates PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_encoding_kwarg_fixed_width_string PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_default_fill_value PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_explicitly_omit_fill_value PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_explicitly_omit_fill_value_via_encoding_kwarg PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_explicitly_omit_fill_value_in_coord PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_encoding_same_dtype PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_append_write PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_append_overwrite_values PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_append_with_invalid_dim_raises PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_multiindex_not_implemented PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_to_netcdf_explicit_engine PASSED [ 7%] xarray/tests/test_backends.py::TestScipyInMemoryData::test_bytes_pickle PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_dtype_coercion_error PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_zero_dimensional_variable PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_write_store PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_test_data PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_load PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_dataset_compute PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_dataset_caching PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_None_variable PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_object_dtype PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_string_data PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_string_encoded_characters PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_numpy_datetime_data FAILED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_cftime_datetime_data PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_timedelta_data PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_float64_data PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_example_1_netcdf PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_coordinates PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_global_coordinates PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_coordinates_with_space PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_boolean_dtype PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_orthogonal_indexing PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_vectorized_indexing PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_vectorized_indexing_negative_step XPASS (zarr without dask handles negative steps in slices incorrectly) [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_isel_dataarray PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_array_type_after_indexing PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_dropna PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_ondisk_after_print PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_bytes_with_fill_value PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_string_with_fill_value_nchar PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] PASSED [ 7%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] XFAIL (Bad _Unsigned attribute.) [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_grid_mapping_and_bounds_are_not_coordinates_in_file PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_coordinate_variables_after_dataset_roundtrip PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_coordinates_encoding PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_endian PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_invalid_dataarray_names_raise PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_encoding_kwarg PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_encoding_kwarg_dates PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_encoding_kwarg_fixed_width_string PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_default_fill_value PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_explicitly_omit_fill_value PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_explicitly_omit_fill_value_via_encoding_kwarg PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_explicitly_omit_fill_value_in_coord PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_encoding_same_dtype PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_append_write PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_append_overwrite_values PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_append_with_invalid_dim_raises PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_multiindex_not_implemented PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_pickle SKIPPED (cannot pickle file objects) [ 8%] xarray/tests/test_backends.py::TestScipyFileObject::test_pickle_dataarray SKIPPED (cannot pickle file objects) [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_dtype_coercion_error PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_zero_dimensional_variable PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_write_store PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_test_data PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_load PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_dataset_compute PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_pickle PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_pickle_dataarray PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_dataset_caching PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_None_variable PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_object_dtype PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_string_data PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_string_encoded_characters PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_numpy_datetime_data FAILED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_cftime_datetime_data PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_timedelta_data PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_float64_data PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_example_1_netcdf PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_coordinates PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_global_coordinates PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_coordinates_with_space PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_boolean_dtype PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_orthogonal_indexing PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_vectorized_indexing PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_vectorized_indexing_negative_step XPASS (zarr without dask handles negative steps in slices incorrectly) [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_isel_dataarray PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_array_type_after_indexing PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_dropna PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_ondisk_after_print PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_bytes_with_fill_value PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_string_with_fill_value_nchar PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] XFAIL (Bad _Unsigned attribute.) [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_grid_mapping_and_bounds_are_not_coordinates_in_file PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_coordinate_variables_after_dataset_roundtrip PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_coordinates_encoding PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_endian PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_invalid_dataarray_names_raise PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_encoding_kwarg PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_encoding_kwarg_dates PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_encoding_kwarg_fixed_width_string PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_default_fill_value PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_explicitly_omit_fill_value PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_explicitly_omit_fill_value_via_encoding_kwarg PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_explicitly_omit_fill_value_in_coord PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_encoding_same_dtype PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_append_write PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_append_overwrite_values PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_append_with_invalid_dim_raises PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_multiindex_not_implemented PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_array_attrs PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_example_1_netcdf_gz PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_netcdf3_endianness PASSED [ 8%] xarray/tests/test_backends.py::TestScipyFilePath::test_nc4_scipy PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_dtype_coercion_error PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_zero_dimensional_variable PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_write_store PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_test_data PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_load PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_dataset_compute PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_pickle PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_pickle_dataarray PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_dataset_caching PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_None_variable PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_object_dtype PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_string_data PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_string_encoded_characters PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_numpy_datetime_data FAILED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_cftime_datetime_data PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_timedelta_data PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_float64_data PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_example_1_netcdf PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_coordinates PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_global_coordinates PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_coordinates_with_space PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_boolean_dtype PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_orthogonal_indexing PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_vectorized_indexing PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_vectorized_indexing_negative_step XPASS (zarr without dask handles negative steps in slices incorrectly) [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_isel_dataarray PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_array_type_after_indexing PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_dropna PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_ondisk_after_print PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_bytes_with_fill_value PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_string_with_fill_value_nchar PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] XFAIL (Bad _Unsigned attribute.) [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_grid_mapping_and_bounds_are_not_coordinates_in_file PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_coordinate_variables_after_dataset_roundtrip PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_coordinates_encoding PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_endian PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_invalid_dataarray_names_raise PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_encoding_kwarg PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_encoding_kwarg_dates PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_encoding_kwarg_fixed_width_string PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_default_fill_value PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_explicitly_omit_fill_value PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_explicitly_omit_fill_value_via_encoding_kwarg PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_explicitly_omit_fill_value_in_coord PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_encoding_same_dtype PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_append_write PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_append_overwrite_values PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_append_with_invalid_dim_raises PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_multiindex_not_implemented PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_encoding_kwarg_vlen_string PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_dtype_coercion_error PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_zero_dimensional_variable PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_write_store PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_test_data PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_load PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_dataset_compute PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_pickle PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_pickle_dataarray PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_dataset_caching PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_None_variable PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_object_dtype PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_string_data PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_string_encoded_characters PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_numpy_datetime_data FAILED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_cftime_datetime_data PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_timedelta_data PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_float64_data PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_example_1_netcdf PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_coordinates PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_global_coordinates PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_coordinates_with_space PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_boolean_dtype PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_orthogonal_indexing PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_vectorized_indexing PASSED [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_vectorized_indexing_negative_step XPASS (zarr without dask handles negative steps in slices incorrectly) [ 8%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_isel_dataarray PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_array_type_after_indexing PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_dropna PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_ondisk_after_print PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_bytes_with_fill_value PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_string_with_fill_value_nchar PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] XFAIL (Bad _Unsigned attribute.) [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_grid_mapping_and_bounds_are_not_coordinates_in_file PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_coordinate_variables_after_dataset_roundtrip PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_coordinates_encoding PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_endian PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_invalid_dataarray_names_raise PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_encoding_kwarg PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_encoding_kwarg_dates PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_encoding_kwarg_fixed_width_string PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_default_fill_value PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_explicitly_omit_fill_value PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_explicitly_omit_fill_value_via_encoding_kwarg PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_explicitly_omit_fill_value_in_coord PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_encoding_same_dtype PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_append_write PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_append_overwrite_values PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_append_with_invalid_dim_raises PASSED [ 9%] xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_multiindex_not_implemented PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_dtype_coercion_error PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_zero_dimensional_variable PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_test_data PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_load PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_dataset_compute PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_pickle PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_pickle_dataarray PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_dataset_caching PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_None_variable PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_object_dtype PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_string_data PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_string_encoded_characters PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_numpy_datetime_data FAILED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_cftime_datetime_data PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_timedelta_data PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_float64_data PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_example_1_netcdf PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_coordinates PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_global_coordinates PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_coordinates_with_space PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_boolean_dtype PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_orthogonal_indexing PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_vectorized_indexing PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_vectorized_indexing_negative_step XPASS (zarr without dask handles negative steps in slices incorrectly) [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_isel_dataarray PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_array_type_after_indexing PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_dropna PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_ondisk_after_print PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_bytes_with_fill_value PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_string_with_fill_value_nchar PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] XFAIL (Bad _Unsigned attribute.) [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_grid_mapping_and_bounds_are_not_coordinates_in_file PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_coordinate_variables_after_dataset_roundtrip PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_coordinates_encoding PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_endian PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_invalid_dataarray_names_raise PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_encoding_kwarg PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_encoding_kwarg_dates PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_encoding_kwarg_fixed_width_string PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_default_fill_value PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_explicitly_omit_fill_value PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_explicitly_omit_fill_value_via_encoding_kwarg PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_explicitly_omit_fill_value_in_coord PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_encoding_same_dtype PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_append_write PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_append_overwrite_values PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_append_with_invalid_dim_raises PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_multiindex_not_implemented PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_write_store PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_engine PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_cross_engine_read_write_netcdf3 PASSED [ 9%] xarray/tests/test_backends.py::TestGenericNetCDFData::test_encoding_unlimited_dims PASSED [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_zero_dimensional_variable SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_write_store SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_test_data SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_load SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_dataset_compute SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_pickle SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_pickle_dataarray SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_dataset_caching SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_None_variable SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_object_dtype SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_string_data SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_string_encoded_characters SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_numpy_datetime_data SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_cftime_datetime_data SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_timedelta_data SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_float64_data SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_example_1_netcdf SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_coordinates SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_global_coordinates SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_coordinates_with_space SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_boolean_dtype SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_orthogonal_indexing SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_vectorized_indexing SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_vectorized_indexing_negative_step SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_isel_dataarray SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_array_type_after_indexing SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_dropna SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_ondisk_after_print SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_bytes_with_fill_value SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_string_with_fill_value_nchar SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_grid_mapping_and_bounds_are_not_coordinates_in_file SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_coordinate_variables_after_dataset_roundtrip SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_coordinates_encoding SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_endian SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_invalid_dataarray_names_raise SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_encoding_kwarg SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_encoding_kwarg_dates SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_encoding_kwarg_fixed_width_string SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_default_fill_value SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_explicitly_omit_fill_value SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_explicitly_omit_fill_value_via_encoding_kwarg SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_explicitly_omit_fill_value_in_coord SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_encoding_same_dtype SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_append_write SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_append_overwrite_values SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_append_with_invalid_dim_raises SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_multiindex_not_implemented SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_refresh_from_disk SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_open_group SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_open_subgroup SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_write_groups SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_encoding_kwarg_vlen_string SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_string_with_fill_value_vlen SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_roundtrip_character_array SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_default_to_char_arrays SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_open_encodings SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_dump_encodings SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_dump_and_open_encodings SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_compression_encoding SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_encoding_kwarg_compression SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_keep_chunksizes_if_no_original_shape SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_encoding_chunksizes_unlimited SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_mask_and_scale SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_0dimensional_variable SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_read_variable_len_strings SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_complex[None-FutureWarning-1] SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_complex[False-FutureWarning-1] SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_complex[True-None-0] SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_complex_error[None] SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_complex_error[False] SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_numpy_bool_ SKIPPED (requires h5netcdf) [ 9%] xarray/tests/test_backends.py::TestH5NetCDFData::test_cross_engine_read_write_netcdf4 SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFData::test_read_byte_attrs_as_unicode SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFData::test_encoding_unlimited_dims SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFData::test_compression_encoding_h5py SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFData::test_compression_check_encoding_h5py SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFData::test_dump_encodings_h5py SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFAlreadyOpen::test_open_dataset_group SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFAlreadyOpen::test_deepcopy SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_zero_dimensional_variable SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_write_store SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_test_data SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_load SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_dataset_compute SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_pickle SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_pickle_dataarray SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_dataset_caching SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_None_variable SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_object_dtype SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_string_data SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_string_encoded_characters SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_numpy_datetime_data SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_cftime_datetime_data SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_timedelta_data SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_float64_data SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_example_1_netcdf SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_coordinates SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_global_coordinates SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_coordinates_with_space SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_boolean_dtype SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_orthogonal_indexing SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_vectorized_indexing SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_vectorized_indexing_negative_step SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_isel_dataarray SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_array_type_after_indexing SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_dropna SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_ondisk_after_print SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_bytes_with_fill_value SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_string_with_fill_value_nchar SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_grid_mapping_and_bounds_are_not_coordinates_in_file SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_coordinate_variables_after_dataset_roundtrip SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_coordinates_encoding SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_endian SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_invalid_dataarray_names_raise SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_encoding_kwarg SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_encoding_kwarg_dates SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_encoding_kwarg_fixed_width_string SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_default_fill_value SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_explicitly_omit_fill_value SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_explicitly_omit_fill_value_via_encoding_kwarg SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_explicitly_omit_fill_value_in_coord SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_encoding_same_dtype SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_append_write SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_append_overwrite_values SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_append_with_invalid_dim_raises SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_multiindex_not_implemented SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_refresh_from_disk SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_open_group SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_open_subgroup SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_write_groups SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_encoding_kwarg_vlen_string SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_string_with_fill_value_vlen SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_roundtrip_character_array SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_default_to_char_arrays SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_open_encodings SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_dump_encodings SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_dump_and_open_encodings SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_compression_encoding SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_encoding_kwarg_compression SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_keep_chunksizes_if_no_original_shape SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_encoding_chunksizes_unlimited SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_mask_and_scale SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_0dimensional_variable SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_read_variable_len_strings SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_complex[None-FutureWarning-1] SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_complex[False-FutureWarning-1] SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_complex[True-None-0] SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_complex_error[None] SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_complex_error[False] SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_numpy_bool_ SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_cross_engine_read_write_netcdf4 SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_read_byte_attrs_as_unicode SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_encoding_unlimited_dims SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_compression_encoding_h5py SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_compression_check_encoding_h5py SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_dump_encodings_h5py SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_open_badbytes SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_open_twice SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFFileObject::test_open_fileobj SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_zero_dimensional_variable SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_write_store SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_test_data SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_load SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_dataset_compute SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_pickle SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_pickle_dataarray SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_None_variable SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_object_dtype SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_string_data SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_string_encoded_characters SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_numpy_datetime_data SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_cftime_datetime_data SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_timedelta_data SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_float64_data SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_example_1_netcdf SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_coordinates SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_global_coordinates SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_coordinates_with_space SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_boolean_dtype SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_orthogonal_indexing SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_vectorized_indexing SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_vectorized_indexing_negative_step SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_isel_dataarray SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_array_type_after_indexing SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_dropna SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_ondisk_after_print SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_bytes_with_fill_value SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_string_with_fill_value_nchar SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_grid_mapping_and_bounds_are_not_coordinates_in_file SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_coordinate_variables_after_dataset_roundtrip SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_coordinates_encoding SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_endian SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_invalid_dataarray_names_raise SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_encoding_kwarg SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_encoding_kwarg_dates SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_encoding_kwarg_fixed_width_string SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_default_fill_value SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_explicitly_omit_fill_value SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_explicitly_omit_fill_value_via_encoding_kwarg SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_explicitly_omit_fill_value_in_coord SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_encoding_same_dtype SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_append_write SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_append_overwrite_values SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_append_with_invalid_dim_raises SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_multiindex_not_implemented SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_refresh_from_disk SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_open_group SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_open_subgroup SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_write_groups SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_encoding_kwarg_vlen_string SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_string_with_fill_value_vlen SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_roundtrip_character_array SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_default_to_char_arrays SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_open_encodings SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_dump_encodings SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_dump_and_open_encodings SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_compression_encoding SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_encoding_kwarg_compression SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_keep_chunksizes_if_no_original_shape SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_encoding_chunksizes_unlimited SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_mask_and_scale SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_0dimensional_variable SKIPPED (requires h5netcdf) [ 10%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_read_variable_len_strings SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_complex[None-FutureWarning-1] SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_complex[False-FutureWarning-1] SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_complex[True-None-0] SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_complex_error[None] SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_complex_error[False] SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_numpy_bool_ SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_cross_engine_read_write_netcdf4 SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_read_byte_attrs_as_unicode SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_encoding_unlimited_dims SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_compression_encoding_h5py SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_compression_check_encoding_h5py SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_dump_encodings_h5py SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_dataset_caching SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::TestH5NetCDFViaDaskData::test_write_inconsistent_chunks SKIPPED (requires h5netcdf) [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-1-True-None-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-1-True-None-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-1-True-5-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-1-True-5-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-1-False-None-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-1-False-None-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-1-False-5-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-1-False-5-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-20-True-None-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-20-True-None-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-20-True-5-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-20-True-5-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-20-False-None-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-20-False-None-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-20-False-5-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[scipy-20-False-5-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-1-True-None-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-1-True-None-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-1-True-5-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-1-True-5-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-1-False-None-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-1-False-None-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-1-False-5-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-1-False-5-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-None-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-None-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-5-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-5-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-False-None-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-False-None-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-False-5-5] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-False-5-None] PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-1-True-None-5] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-1-True-None-None] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-1-True-5-5] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-1-True-5-None] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-1-False-None-5] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-1-False-None-None] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-1-False-5-5] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-1-False-5-None] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-20-True-None-5] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-20-True-None-None] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-20-True-5-5] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-20-True-5-None] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-20-False-None-5] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-20-False-None-None] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-20-False-5-5] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[h5netcdf-20-False-5-None] SKIPPED (could not import 'h5netcdf': No module named 'h5netcdf') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-1-True-None-5] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-1-True-None-None] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-1-True-5-5] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-1-True-5-None] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-1-False-None-5] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-1-False-None-None] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-1-False-5-5] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-1-False-5-None] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-20-True-None-5] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-20-True-None-None] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-20-True-5-5] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-20-True-5-None] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-20-False-None-5] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-20-False-None-None] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-20-False-5-5] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[pynio-20-False-5-None] SKIPPED (could not import 'Nio': No module named 'Nio') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-1-True-None-5] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-1-True-None-None] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-1-True-5-5] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-1-True-5-None] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-1-False-None-5] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-1-False-None-None] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-1-False-5-5] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-1-False-5-None] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-20-True-None-5] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-20-True-None-None] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-20-True-5-5] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-20-True-5-None] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-20-False-None-5] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-20-False-None-None] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-20-False-5-5] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[zarr-20-False-5-None] SKIPPED (could not import 'zarr': No module named 'zarr') [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_can_open_path_objects PASSED [ 11%] xarray/tests/test_backends.py::test_open_mfdataset_list_attr PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[outer-all-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[outer-all-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[outer-minimal-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[outer-minimal-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[outer-different-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[outer-different-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[inner-all-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[inner-all-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[inner-minimal-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[inner-minimal-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[inner-different-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[inner-different-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[left-all-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[left-all-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[left-minimal-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[left-minimal-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[left-different-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[left-different-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[right-all-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[right-all-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[right-minimal-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[right-minimal-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[right-different-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_does_same_as_concat[right-different-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_dataset_combine_attrs[drop] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_dataset_combine_attrs[override] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_dataset_combine_attrs[no_conflicts] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_dataset_combine_attrs[identical] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_dataset_combine_attrs[drop_conflicts] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_dataset_attr_by_coords PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_dataarray_attr_by_coords PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_exact_join_raises_error[all-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_exact_join_raises_error[all-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_exact_join_raises_error[minimal-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_exact_join_raises_error[minimal-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_exact_join_raises_error[different-nested-t] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_open_mfdataset_exact_join_raises_error[different-by_coords-None] PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_common_coord_when_datavars_all PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_common_coord_when_datavars_minimal PASSED [ 11%] xarray/tests/test_backends.py::TestOpenMFDatasetWithDataVarsAndCoordsKw::test_invalid_data_vars_value_should_fail PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_zero_dimensional_variable PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_roundtrip_test_data PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_load PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_dataset_compute PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_pickle PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_pickle_dataarray PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_roundtrip_None_variable PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_roundtrip_object_dtype PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_roundtrip_string_data PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_roundtrip_timedelta_data PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_roundtrip_float64_data PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_roundtrip_example_1_netcdf PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_roundtrip_coordinates PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_roundtrip_global_coordinates PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_roundtrip_boolean_dtype PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_orthogonal_indexing PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_vectorized_indexing PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_vectorized_indexing_negative_step XPASS (zarr without dask handles negative steps in slices incorrectly) [ 11%] xarray/tests/test_backends.py::TestDask::test_isel_dataarray PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_array_type_after_indexing PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_dropna PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_ondisk_after_print PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_roundtrip_string_encoded_characters PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_roundtrip_coordinates_with_space PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_roundtrip_numpy_datetime_data PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_roundtrip_cftime_datetime_data PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_write_store PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_dataset_caching PASSED [ 11%] xarray/tests/test_backends.py::TestDask::test_open_mfdataset PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_mfdataset_no_files PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_mfdataset_2d PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_mfdataset_pathlib PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_mfdataset_2d_pathlib PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_mfdataset_2 PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_attrs_mfdataset PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_mfdataset_attrs_file PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_mfdataset_attrs_file_path PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_mfdataset_auto_combine PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_mfdataset_raise_on_bad_combine_args PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_encoding_mfdataset XPASS (mfdataset loses encoding currently.) [ 12%] xarray/tests/test_backends.py::TestDask::test_preprocess_mfdataset PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_save_mfdataset_roundtrip PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_save_mfdataset_invalid PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_save_mfdataset_invalid_dataarray PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_save_mfdataset_pathlib_roundtrip PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_save_mfdataset_pass_kwargs PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_and_do_math PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_mfdataset_concat_dim_none PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_mfdataset_concat_dim_default_none PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_dataset PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_single_dataset PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_open_multi_dataset PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_dask_roundtrip PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_deterministic_names PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_dataarray_compute PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_save_mfdataset_compute_false_roundtrip XPASS [ 12%] xarray/tests/test_backends.py::TestDask::test_load_dataset PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_load_dataarray PASSED [ 12%] xarray/tests/test_backends.py::TestDask::test_inline_array PASSED [ 12%] xarray/tests/test_backends.py::TestPydap::test_cmp_local_file SKIPPED (requires pydap.client) [ 12%] xarray/tests/test_backends.py::TestPydap::test_compatible_to_netcdf SKIPPED (requires pydap.client) [ 12%] xarray/tests/test_backends.py::TestPydap::test_dask SKIPPED (requires pydap.client) [ 12%] xarray/tests/test_backends.py::TestPydapOnline::test_cmp_local_file SKIPPED (requires pydap.client) [ 12%] xarray/tests/test_backends.py::TestPydapOnline::test_compatible_to_netcdf SKIPPED (requires pydap.client) [ 12%] xarray/tests/test_backends.py::TestPydapOnline::test_dask SKIPPED (requires pydap.client) [ 12%] xarray/tests/test_backends.py::TestPydapOnline::test_session SKIPPED (requires pydap.client) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_dtype_coercion_error SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_zero_dimensional_variable SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_test_data SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_load SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_dataset_compute SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_pickle SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_pickle_dataarray SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_dataset_caching SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_None_variable SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_object_dtype SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_string_data SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_string_encoded_characters SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_numpy_datetime_data SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_cftime_datetime_data SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_timedelta_data SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_float64_data SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_example_1_netcdf SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_coordinates SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_global_coordinates SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_coordinates_with_space SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_boolean_dtype SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_orthogonal_indexing SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_vectorized_indexing SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_vectorized_indexing_negative_step SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_isel_dataarray SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_array_type_after_indexing SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_dropna SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_ondisk_after_print SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_bytes_with_fill_value SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_string_with_fill_value_nchar SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_grid_mapping_and_bounds_are_not_coordinates_in_file SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_coordinate_variables_after_dataset_roundtrip SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_coordinate_variables_after_iris_roundtrip SKIPPED (requires iris) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_coordinates_encoding SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_roundtrip_endian SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_invalid_dataarray_names_raise SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_encoding_kwarg SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_encoding_kwarg_dates SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_encoding_kwarg_fixed_width_string SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_default_fill_value SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_explicitly_omit_fill_value SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_explicitly_omit_fill_value_via_encoding_kwarg SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_explicitly_omit_fill_value_in_coord SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_encoding_same_dtype SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_append_write SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_append_overwrite_values SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_append_with_invalid_dim_raises SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_multiindex_not_implemented SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_write_store SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_kwargs SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestPyNio::test_weakrefs SKIPPED (requires Nio) [ 12%] xarray/tests/test_backends.py::TestCfGrib::test_read SKIPPED (requires cfgrib) [ 12%] xarray/tests/test_backends.py::TestCfGrib::test_read_filter_by_keys SKIPPED (requires cfgrib) [ 12%] xarray/tests/test_backends.py::TestCfGrib::test_read_outer SKIPPED (requires cfgrib) [ 12%] xarray/tests/test_backends.py::TestPseudoNetCDFFormat::test_ict_format SKIPPED (requires PseudoNetCDF) [ 12%] xarray/tests/test_backends.py::TestPseudoNetCDFFormat::test_ict_format_write SKIPPED (requires PseudoNetCDF) [ 12%] xarray/tests/test_backends.py::TestPseudoNetCDFFormat::test_uamiv_format_read SKIPPED (requires PseudoNetCDF) [ 12%] xarray/tests/test_backends.py::TestPseudoNetCDFFormat::test_uamiv_format_mfread SKIPPED (requires PseudoNetCDF) [ 12%] xarray/tests/test_backends.py::TestPseudoNetCDFFormat::test_uamiv_format_write SKIPPED (requires PseudoNetCDF) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_serialization SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_utm SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_non_rectilinear SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_platecarree SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_notransform SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_indexing SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_caching SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_chunks SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_pickle_rasterio SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_ENVI_tags SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_geotiff_tags SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_no_mftime SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_http_url SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_rasterio_environment SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_rasterio_vrt SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_rasterio_vrt_with_transform_and_size SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestRasterio::test_rasterio_vrt_with_src_crs SKIPPED (requires rasterio) [ 12%] xarray/tests/test_backends.py::TestEncodingInvalid::test_extract_nc4_variable_encoding PASSED [ 12%] xarray/tests/test_backends.py::TestEncodingInvalid::test_extract_nc4_variable_encoding_netcdf4 PASSED [ 12%] xarray/tests/test_backends.py::TestEncodingInvalid::test_extract_h5nc_encoding PASSED [ 12%] xarray/tests/test_backends.py::TestValidateAttrs::test_validating_attrs PASSED [ 12%] xarray/tests/test_backends.py::TestDataArrayToNetCDF::test_dataarray_to_netcdf_no_name PASSED [ 12%] xarray/tests/test_backends.py::TestDataArrayToNetCDF::test_dataarray_to_netcdf_with_name PASSED [ 12%] xarray/tests/test_backends.py::TestDataArrayToNetCDF::test_dataarray_to_netcdf_coord_name_clash PASSED [ 12%] xarray/tests/test_backends.py::TestDataArrayToNetCDF::test_open_dataarray_options PASSED [ 12%] xarray/tests/test_backends.py::TestDataArrayToNetCDF::test_dataarray_to_netcdf_return_bytes PASSED [ 12%] xarray/tests/test_backends.py::TestDataArrayToNetCDF::test_dataarray_to_netcdf_no_name_pathlib PASSED [ 12%] xarray/tests/test_backends.py::test_no_warning_from_dask_effective_get PASSED [ 12%] xarray/tests/test_backends.py::test_source_encoding_always_present PASSED [ 12%] xarray/tests/test_backends.py::test_source_encoding_always_present_with_pathlib PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_standard_calendar_default_in_range[gregorian] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_standard_calendar_default_in_range[proleptic_gregorian] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_standard_calendar_default_in_range[standard] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_standard_calendar_default_out_of_range[1500-gregorian] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_standard_calendar_default_out_of_range[1500-proleptic_gregorian] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_standard_calendar_default_out_of_range[1500-standard] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_standard_calendar_default_out_of_range[2500-gregorian] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_standard_calendar_default_out_of_range[2500-proleptic_gregorian] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_standard_calendar_default_out_of_range[2500-standard] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[1500-360_day] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[1500-365_day] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[1500-366_day] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[1500-all_leap] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[1500-gregorian] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[1500-julian] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[1500-noleap] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[1500-proleptic_gregorian] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[1500-standard] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2000-360_day] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2000-365_day] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2000-366_day] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2000-all_leap] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2000-gregorian] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2000-julian] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2000-noleap] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2000-proleptic_gregorian] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2000-standard] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2500-360_day] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2500-365_day] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2500-366_day] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2500-all_leap] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2500-gregorian] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2500-julian] PASSED [ 12%] xarray/tests/test_backends.py::test_use_cftime_true[2500-noleap] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_true[2500-proleptic_gregorian] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_true[2500-standard] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_standard_calendar_in_range[gregorian] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_standard_calendar_in_range[proleptic_gregorian] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_standard_calendar_in_range[standard] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_standard_calendar_out_of_range[1500-gregorian] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_standard_calendar_out_of_range[1500-proleptic_gregorian] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_standard_calendar_out_of_range[1500-standard] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_standard_calendar_out_of_range[2500-gregorian] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_standard_calendar_out_of_range[2500-proleptic_gregorian] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_standard_calendar_out_of_range[2500-standard] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[1500-360_day] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[1500-365_day] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[1500-366_day] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[1500-all_leap] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[1500-julian] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[1500-noleap] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[2000-360_day] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[2000-365_day] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[2000-366_day] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[2000-all_leap] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[2000-julian] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[2000-noleap] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[2500-360_day] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[2500-365_day] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[2500-366_day] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[2500-all_leap] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[2500-julian] PASSED [ 13%] xarray/tests/test_backends.py::test_use_cftime_false_nonstandard_calendar[2500-noleap] PASSED [ 13%] xarray/tests/test_backends.py::test_invalid_netcdf_raises[netcdf4] PASSED [ 13%] xarray/tests/test_backends.py::test_invalid_netcdf_raises[scipy] PASSED [ 13%] xarray/tests/test_backends.py::test_encode_zarr_attr_value SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_extract_zarr_variable_encoding SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_open_fsspec SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_load_single_value_h5netcdf SKIPPED (requires h5netcdf) [ 13%] xarray/tests/test_backends.py::test_open_dataset_chunking_zarr[auto] SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_open_dataset_chunking_zarr[-1] SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_open_dataset_chunking_zarr[chunks2] SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_open_dataset_chunking_zarr[chunks3] SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_open_dataset_chunking_zarr[chunks4] SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_open_dataset_chunking_zarr[chunks5] SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_chunking_consintency[auto] SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_chunking_consintency[-1] SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_chunking_consintency[chunks2] SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_chunking_consintency[chunks3] SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_chunking_consintency[chunks4] SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_chunking_consintency[chunks5] SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_netcdf4_entrypoint PASSED [ 13%] xarray/tests/test_backends.py::test_scipy_entrypoint PASSED [ 13%] xarray/tests/test_backends.py::test_h5netcdf_entrypoint SKIPPED (requires h5netcdf) [ 13%] xarray/tests/test_backends.py::test_write_file_from_np_str[str] PASSED [ 13%] xarray/tests/test_backends.py::test_write_file_from_np_str[str_] PASSED [ 13%] xarray/tests/test_backends.py::TestNCZarr::test_open_nczarr SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::TestNCZarr::test_overwriting_nczarr SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::TestNCZarr::test_raise_writing_to_nczarr[a] SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::TestNCZarr::test_raise_writing_to_nczarr[r+] SKIPPED (requires zarr) [ 13%] xarray/tests/test_backends.py::test_pickle_open_mfdataset_dataset PASSED [ 13%] xarray/tests/test_backends_api.py::test__get_default_engine PASSED [ 13%] xarray/tests/test_backends_api.py::test_custom_engine PASSED [ 13%] xarray/tests/test_backends_api.py::test_multiindex PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_honor_chunks[False-shape0-pref_chunks0] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_honor_chunks[False-shape1-pref_chunks1] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_honor_chunks[False-shape2-pref_chunks2] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_honor_chunks[False-shape3-pref_chunks3] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_honor_chunks[True-shape0-pref_chunks0] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_honor_chunks[True-shape1-pref_chunks1] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_honor_chunks[True-shape2-pref_chunks2] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_honor_chunks[True-shape3-pref_chunks3] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_split_chunks[shape0-pref_chunks0-req_chunks0] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_split_chunks[shape1-pref_chunks1-req_chunks1] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_split_chunks[shape2-pref_chunks2-req_chunks2] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_split_chunks[shape3-pref_chunks3-req_chunks3] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_split_chunks[shape4-pref_chunks4-req_chunks4] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_join_chunks[shape0-pref_chunks0-req_chunks0] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_join_chunks[shape1-pref_chunks1-req_chunks1] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_join_chunks[shape2-pref_chunks2-req_chunks2] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_join_chunks[shape3-pref_chunks3-req_chunks3] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_join_chunks[shape4-pref_chunks4-req_chunks4] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_join_chunks[shape5-pref_chunks5-req_chunks5] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_join_chunks[shape6-pref_chunks6-req_chunks6] PASSED [ 13%] xarray/tests/test_backends_api.py::TestPreferredChunks::test_join_chunks[shape7-pref_chunks7-req_chunks7] PASSED [ 13%] xarray/tests/test_backends_common.py::test_robust_getitem PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_mock_write[1] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_mock_write[2] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_mock_write[3] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_mock_write[None] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_autoclose[True] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_autoclose[False] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_autoclose_while_locked PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_repr PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_cache_and_refcounts PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_cache_repeated_open PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_cache_with_pickle PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_write_consecutive[1] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_write_consecutive[2] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_write_consecutive[3] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_write_consecutive[None] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_write_concurrent[1] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_write_concurrent[2] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_write_concurrent[3] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_write_concurrent[None] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_write_pickle[1] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_write_pickle[2] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_write_pickle[3] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_write_pickle[None] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_read[1] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_read[2] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_read[3] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_read[None] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_acquire_context[1] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_acquire_context[2] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_acquire_context[3] PASSED [ 13%] xarray/tests/test_backends_file_manager.py::test_file_manager_acquire_context[None] PASSED [ 13%] xarray/tests/test_backends_locks.py::test_threaded_lock PASSED [ 13%] xarray/tests/test_backends_lru_cache.py::test_simple PASSED [ 13%] xarray/tests/test_backends_lru_cache.py::test_trivial PASSED [ 13%] xarray/tests/test_backends_lru_cache.py::test_invalid PASSED [ 13%] xarray/tests/test_backends_lru_cache.py::test_update_priority PASSED [ 13%] xarray/tests/test_backends_lru_cache.py::test_del PASSED [ 13%] xarray/tests/test_backends_lru_cache.py::test_on_evict PASSED [ 13%] xarray/tests/test_backends_lru_cache.py::test_on_evict_trivial PASSED [ 13%] xarray/tests/test_backends_lru_cache.py::test_resize PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar[standard-noleap-None-D] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar[noleap-proleptic_gregorian-True-D] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar[noleap-all_leap-None-D] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar[all_leap-proleptic_gregorian-False-4H] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar_360_days[date-standard-360_day-D] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar_360_days[date-360_day-proleptic_gregorian-D] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar_360_days[date-proleptic_gregorian-360_day-4H] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar_360_days[year-standard-360_day-D] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar_360_days[year-360_day-proleptic_gregorian-D] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar_360_days[year-proleptic_gregorian-360_day-4H] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar_missing[standard-noleap-D] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar_missing[noleap-proleptic_gregorian-4H] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar_missing[noleap-all_leap-M] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar_missing[360_day-noleap-D] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar_missing[noleap-360_day-D] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar_errors PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_convert_calendar_same_calendar PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_interp_calendar[standard-noleap] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_interp_calendar[noleap-proleptic_gregorian] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_interp_calendar[standard-360_day] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_interp_calendar[360_day-proleptic_gregorian] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_interp_calendar[noleap-all_leap] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_interp_calendar[360_day-noleap] PASSED [ 13%] xarray/tests/test_calendar_ops.py::test_interp_calendar_errors PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-1] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-1] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-1] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-1] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-1] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-1] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-1] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-1] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-1] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-1] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-1] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-1] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-2] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-2] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-2] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-2] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-2] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-2] PASSED [ 13%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-2] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-2] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-2] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-2] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-2] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_valid_n[-2] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_invalid_n[-1.5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_invalid_n[-1.5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_invalid_n[-1.5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_invalid_n[-1.5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_invalid_n[-1.5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_invalid_n[-1.5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_invalid_n[-1.5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_invalid_n[-1.5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_invalid_n[-1.5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_invalid_n[-1.5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_invalid_n[-1.5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_invalid_n[-1.5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_invalid_n[-1.5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_cftime_offset_constructor_invalid_n[-1.5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_valid_month[-1] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_valid_month[-12] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_valid_month[-5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_valid_month[-5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_valid_month[-3] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_valid_month[-3] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_valid_month[-5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_valid_month[-5] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_invalid_month[-0-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_invalid_month[-0-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_invalid_month[-13-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_invalid_month[-13-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_invalid_month[-1.5-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_invalid_month[-1.5-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_invalid_month[-0-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_invalid_month[-0-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_invalid_month[-1.5-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_invalid_month[-1.5-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_invalid_month[-13-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_year_offset_constructor_invalid_month[-13-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_rule_code[-None] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_rule_code[-MS] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_rule_code[-AS-JAN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_rule_code[-QS-MAR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_str_and_repr[-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_str_and_repr[-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_str_and_repr[-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_offset_input[] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_offset_input[] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_offset_input[] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_offset_input[] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[M-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[2M-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[MS-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[2MS-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[D-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[2D-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[H-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[2H-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[T-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[2T-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[min-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[2min-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[S-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[2S-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[L-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[2L-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[ms-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[2ms-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[U-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[2U-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[us-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_sub_annual[2us-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-None-1-JAN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-None-2-FEB] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-None-3-MAR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-None-4-APR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-None-5-MAY] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-None-6-JUN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-None-7-JUL] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-None-8-AUG] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-None-9-SEP] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-None-10-OCT] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-None-11-NOV] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-None-12-DEC] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-None-0-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-2-1-JAN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-2-2-FEB] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-2-3-MAR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-2-4-APR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-2-5-MAY] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-2-6-JUN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-2-7-JUL] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-2-8-AUG] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-2-9-SEP] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-2-10-OCT] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-2-11-NOV] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-2-12-DEC] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[AS-2-0-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-None-1-JAN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-None-2-FEB] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-None-3-MAR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-None-4-APR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-None-5-MAY] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-None-6-JUN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-None-7-JUL] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-None-8-AUG] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-None-9-SEP] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-None-10-OCT] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-None-11-NOV] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-None-12-DEC] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-None-0-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-2-1-JAN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-2-2-FEB] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-2-3-MAR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-2-4-APR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-2-5-MAY] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-2-6-JUN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-2-7-JUL] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-2-8-AUG] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-2-9-SEP] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-2-10-OCT] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-2-11-NOV] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-2-12-DEC] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_annual[A-2-0-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-None-1-JAN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-None-2-FEB] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-None-3-MAR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-None-4-APR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-None-5-MAY] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-None-6-JUN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-None-7-JUL] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-None-8-AUG] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-None-9-SEP] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-None-10-OCT] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-None-11-NOV] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-None-12-DEC] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-None-0-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-2-1-JAN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-2-2-FEB] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-2-3-MAR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-2-4-APR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-2-5-MAY] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-2-6-JUN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-2-7-JUL] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-2-8-AUG] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-2-9-SEP] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-2-10-OCT] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-2-11-NOV] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-2-12-DEC] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[QS-2-0-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-None-1-JAN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-None-2-FEB] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-None-3-MAR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-None-4-APR] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-None-5-MAY] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-None-6-JUN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-None-7-JUL] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-None-8-AUG] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-None-9-SEP] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-None-10-OCT] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-None-11-NOV] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-None-12-DEC] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-None-0-] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-2-1-JAN] PASSED [ 14%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-2-2-FEB] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-2-3-MAR] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-2-4-APR] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-2-5-MAY] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-2-6-JUN] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-2-7-JUL] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-2-8-AUG] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-2-9-SEP] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-2-10-OCT] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-2-11-NOV] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-2-12-DEC] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_offset_quarter[Q-2-0-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_invalid_to_offset_str[Z] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_invalid_to_offset_str[7min2] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_invalid_to_offset_str[AM] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_invalid_to_offset_str[M-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_invalid_to_offset_str[AS-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_invalid_to_offset_str[QS-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_invalid_to_offset_str[1H1min] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[365_day-2000-01-01-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[365_day-(2000, 1, 1)-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[360_day-2000-01-01-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[360_day-(2000, 1, 1)-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[julian-2000-01-01-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[julian-(2000, 1, 1)-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[all_leap-2000-01-01-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[all_leap-(2000, 1, 1)-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[366_day-2000-01-01-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[366_day-(2000, 1, 1)-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[gregorian-2000-01-01-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[gregorian-(2000, 1, 1)-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[proleptic_gregorian-2000-01-01-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[proleptic_gregorian-(2000, 1, 1)-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[standard-2000-01-01-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime[standard-(2000, 1, 1)-(2000, 1, 1)] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime_error_no_calendar PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_to_cftime_datetime_error_type_error PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 15%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_neq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 16%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_eq[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-0.5-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-0.5-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-0.5-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-0.5-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul[-0.5-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-3-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-0.5-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-0.5-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-0.5-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-0.5-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_rmul[-0.5-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_mul_float_multiple_next_higher_resolution PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_nonTick_offset_multiplied_float_error[] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_nonTick_offset_multiplied_float_error[] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_nonTick_offset_multiplied_float_error[] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_nonTick_offset_multiplied_float_error[] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_nonTick_offset_multiplied_float_error[] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_nonTick_offset_multiplied_float_error[] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_Microsecond_multiplied_float_error PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_neg[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_neg[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_neg[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_neg[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_neg[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_neg[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_neg[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_neg[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_neg[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_neg[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_neg[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_neg[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_neg[-] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[365_day--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[365_day--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[365_day--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[365_day--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[365_day--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[365_day--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[360_day--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[360_day--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[360_day--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[360_day--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[360_day--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[360_day--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[julian--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[julian--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[julian--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[julian--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[julian--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[julian--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[all_leap--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[all_leap--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[all_leap--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[all_leap--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[all_leap--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[all_leap--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[366_day--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[366_day--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[366_day--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[366_day--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[366_day--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[366_day--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[gregorian--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[gregorian--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[gregorian--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[gregorian--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[gregorian--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[gregorian--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[proleptic_gregorian--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[proleptic_gregorian--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[proleptic_gregorian--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[proleptic_gregorian--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[proleptic_gregorian--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[proleptic_gregorian--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[standard--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[standard--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[standard--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[standard--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[standard--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_add_sub_monthly[standard--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[365_day--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[365_day--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[365_day--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[365_day--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[365_day--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[365_day--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[360_day--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[360_day--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[360_day--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[360_day--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[360_day--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[360_day--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[julian--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[julian--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[julian--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[julian--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[julian--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[julian--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[all_leap--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[all_leap--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[all_leap--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[all_leap--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[all_leap--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[all_leap--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[366_day--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[366_day--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[366_day--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[366_day--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[366_day--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[366_day--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[gregorian--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[gregorian--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[gregorian--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[gregorian--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[gregorian--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[gregorian--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[proleptic_gregorian--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[proleptic_gregorian--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[proleptic_gregorian--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[proleptic_gregorian--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[proleptic_gregorian--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[proleptic_gregorian--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[standard--(1, 1, 3)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[standard--(1, 1, 1, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[standard--(1, 1, 1, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[standard--(1, 1, 1, 0, 0, 2)] PASSED [ 17%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[standard--(1, 1, 1, 0, 0, 0, 2000)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_radd_sub_monthly[standard--(1, 1, 1, 0, 0, 0, 2)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[365_day--(1, 1, 1)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[365_day--(1, 1, 2, 22)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[365_day--(1, 1, 2, 23, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[365_day--(1, 1, 2, 23, 59, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[365_day--(1, 1, 2, 23, 59, 59, 998000)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[365_day--(1, 1, 2, 23, 59, 59, 999998)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[360_day--(1, 1, 1)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[360_day--(1, 1, 2, 22)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[360_day--(1, 1, 2, 23, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[360_day--(1, 1, 2, 23, 59, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[360_day--(1, 1, 2, 23, 59, 59, 998000)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[360_day--(1, 1, 2, 23, 59, 59, 999998)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[julian--(1, 1, 1)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[julian--(1, 1, 2, 22)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[julian--(1, 1, 2, 23, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[julian--(1, 1, 2, 23, 59, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[julian--(1, 1, 2, 23, 59, 59, 998000)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[julian--(1, 1, 2, 23, 59, 59, 999998)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[all_leap--(1, 1, 1)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[all_leap--(1, 1, 2, 22)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[all_leap--(1, 1, 2, 23, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[all_leap--(1, 1, 2, 23, 59, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[all_leap--(1, 1, 2, 23, 59, 59, 998000)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[all_leap--(1, 1, 2, 23, 59, 59, 999998)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[366_day--(1, 1, 1)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[366_day--(1, 1, 2, 22)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[366_day--(1, 1, 2, 23, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[366_day--(1, 1, 2, 23, 59, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[366_day--(1, 1, 2, 23, 59, 59, 998000)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[366_day--(1, 1, 2, 23, 59, 59, 999998)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[gregorian--(1, 1, 1)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[gregorian--(1, 1, 2, 22)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[gregorian--(1, 1, 2, 23, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[gregorian--(1, 1, 2, 23, 59, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[gregorian--(1, 1, 2, 23, 59, 59, 998000)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[gregorian--(1, 1, 2, 23, 59, 59, 999998)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[proleptic_gregorian--(1, 1, 1)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[proleptic_gregorian--(1, 1, 2, 22)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[proleptic_gregorian--(1, 1, 2, 23, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[proleptic_gregorian--(1, 1, 2, 23, 59, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[proleptic_gregorian--(1, 1, 2, 23, 59, 59, 998000)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[proleptic_gregorian--(1, 1, 2, 23, 59, 59, 999998)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[standard--(1, 1, 1)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[standard--(1, 1, 2, 22)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[standard--(1, 1, 2, 23, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[standard--(1, 1, 2, 23, 59, 58)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[standard--(1, 1, 2, 23, 59, 59, 998000)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_rsub_sub_monthly[standard--(1, 1, 2, 23, 59, 59, 999998)] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[365_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[360_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[julian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[all_leap-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[366_day-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 18%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[proleptic_gregorian-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_sub_error[standard-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_minus_offset_error[-] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_non_december[365_day] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_non_december[360_day] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_non_december[julian] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_non_december[all_leap] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_non_december[366_day] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_non_december[gregorian] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_non_december[proleptic_gregorian] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_non_december[standard] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_december[365_day] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_december[360_day] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_december[julian] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_december[all_leap] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_december[366_day] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_december[gregorian] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_december[proleptic_gregorian] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_days_in_month_december[standard] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[365_day-(1, 1, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[365_day-(1, 1, 1)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[365_day-(1, 1, 7)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[365_day-(1, 1, 7)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[365_day-(1, 3, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[365_day-(1, 3, 1)--(1, 1, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[365_day-(1, 3, 3)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[365_day-(1, 3, 3)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[365_day-(1, 2, 1)--(2, 4, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[365_day-(2, 4, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[365_day-(1, 1, 1, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[365_day-(1, 1, 3, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[365_day-(1, 1, 3, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[360_day-(1, 1, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[360_day-(1, 1, 1)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[360_day-(1, 1, 7)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[360_day-(1, 1, 7)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[360_day-(1, 3, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[360_day-(1, 3, 1)--(1, 1, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[360_day-(1, 3, 3)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[360_day-(1, 3, 3)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[360_day-(1, 2, 1)--(2, 4, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[360_day-(2, 4, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[360_day-(1, 1, 1, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[360_day-(1, 1, 3, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[360_day-(1, 1, 3, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[julian-(1, 1, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[julian-(1, 1, 1)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[julian-(1, 1, 7)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[julian-(1, 1, 7)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[julian-(1, 3, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[julian-(1, 3, 1)--(1, 1, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[julian-(1, 3, 3)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[julian-(1, 3, 3)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[julian-(1, 2, 1)--(2, 4, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[julian-(2, 4, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[julian-(1, 1, 1, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[julian-(1, 1, 3, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[julian-(1, 1, 3, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[all_leap-(1, 1, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[all_leap-(1, 1, 1)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[all_leap-(1, 1, 7)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[all_leap-(1, 1, 7)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[all_leap-(1, 3, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[all_leap-(1, 3, 1)--(1, 1, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[all_leap-(1, 3, 3)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[all_leap-(1, 3, 3)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[all_leap-(1, 2, 1)--(2, 4, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[all_leap-(2, 4, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[all_leap-(1, 1, 1, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[all_leap-(1, 1, 3, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[all_leap-(1, 1, 3, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[366_day-(1, 1, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[366_day-(1, 1, 1)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[366_day-(1, 1, 7)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[366_day-(1, 1, 7)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[366_day-(1, 3, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[366_day-(1, 3, 1)--(1, 1, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[366_day-(1, 3, 3)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[366_day-(1, 3, 3)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[366_day-(1, 2, 1)--(2, 4, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[366_day-(2, 4, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[366_day-(1, 1, 1, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[366_day-(1, 1, 3, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[366_day-(1, 1, 3, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[gregorian-(1, 1, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[gregorian-(1, 1, 1)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[gregorian-(1, 1, 7)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[gregorian-(1, 1, 7)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[gregorian-(1, 3, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[gregorian-(1, 3, 1)--(1, 1, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[gregorian-(1, 3, 3)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[gregorian-(1, 3, 3)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[gregorian-(1, 2, 1)--(2, 4, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[gregorian-(2, 4, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[gregorian-(1, 1, 1, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[gregorian-(1, 1, 3, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[gregorian-(1, 1, 3, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[proleptic_gregorian-(1, 1, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[proleptic_gregorian-(1, 1, 1)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[proleptic_gregorian-(1, 1, 7)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[proleptic_gregorian-(1, 1, 7)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[proleptic_gregorian-(1, 3, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[proleptic_gregorian-(1, 3, 1)--(1, 1, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[proleptic_gregorian-(1, 3, 3)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[proleptic_gregorian-(1, 3, 3)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[proleptic_gregorian-(1, 2, 1)--(2, 4, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[proleptic_gregorian-(2, 4, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[proleptic_gregorian-(1, 1, 1, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[proleptic_gregorian-(1, 1, 3, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[proleptic_gregorian-(1, 1, 3, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[standard-(1, 1, 1)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[standard-(1, 1, 1)--(1, 3, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[standard-(1, 1, 7)--(1, 2, 1)] PASSED [ 19%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[standard-(1, 1, 7)--(1, 3, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[standard-(1, 3, 1)--(1, 2, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[standard-(1, 3, 1)--(1, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[standard-(1, 3, 3)--(1, 3, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[standard-(1, 3, 3)--(1, 2, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[standard-(1, 2, 1)--(2, 4, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[standard-(2, 4, 1)--(1, 2, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[standard-(1, 1, 1, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[standard-(1, 1, 3, 5, 5, 5, 5)--(1, 2, 1, 5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_begin[standard-(1, 1, 3, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[365_day-(1, 1, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[365_day-(1, 1, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[365_day-(1, 3, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[365_day-(1, 3, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[365_day-(1, 2, 1)--(2, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[365_day-(2, 4, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[365_day-(1, 1, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[365_day-(1, 2, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[360_day-(1, 1, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[360_day-(1, 1, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[360_day-(1, 3, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[360_day-(1, 3, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[360_day-(1, 2, 1)--(2, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[360_day-(2, 4, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[360_day-(1, 1, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[360_day-(1, 2, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[julian-(1, 1, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[julian-(1, 1, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[julian-(1, 3, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[julian-(1, 3, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[julian-(1, 2, 1)--(2, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[julian-(2, 4, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[julian-(1, 1, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[julian-(1, 2, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[all_leap-(1, 1, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[all_leap-(1, 1, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[all_leap-(1, 3, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[all_leap-(1, 3, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[all_leap-(1, 2, 1)--(2, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[all_leap-(2, 4, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[all_leap-(1, 1, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[all_leap-(1, 2, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[366_day-(1, 1, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[366_day-(1, 1, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[366_day-(1, 3, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[366_day-(1, 3, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[366_day-(1, 2, 1)--(2, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[366_day-(2, 4, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[366_day-(1, 1, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[366_day-(1, 2, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[gregorian-(1, 1, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[gregorian-(1, 1, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[gregorian-(1, 3, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[gregorian-(1, 3, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[gregorian-(1, 2, 1)--(2, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[gregorian-(2, 4, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[gregorian-(1, 1, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[gregorian-(1, 2, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[proleptic_gregorian-(1, 1, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[proleptic_gregorian-(1, 1, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[proleptic_gregorian-(1, 3, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[proleptic_gregorian-(1, 3, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[proleptic_gregorian-(1, 2, 1)--(2, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[proleptic_gregorian-(2, 4, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[proleptic_gregorian-(1, 1, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[proleptic_gregorian-(1, 2, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[standard-(1, 1, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[standard-(1, 1, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[standard-(1, 3, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[standard-(1, 3, 1)--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[standard-(1, 2, 1)--(2, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[standard-(2, 4, 1)--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[standard-(1, 1, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end[standard-(1, 2, 1, 5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[365_day-(1, 1)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[365_day-(1, 1)-()--(1, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[365_day-(1, 3)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[365_day-(1, 3)-()--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[365_day-(1, 2)-()--(2, 4)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[365_day-(2, 4)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[365_day-(1, 1)-(5, 5, 5, 5)--(1, 2)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[365_day-(1, 2)-(5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[360_day-(1, 1)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[360_day-(1, 1)-()--(1, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[360_day-(1, 3)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[360_day-(1, 3)-()--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[360_day-(1, 2)-()--(2, 4)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[360_day-(2, 4)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[360_day-(1, 1)-(5, 5, 5, 5)--(1, 2)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[360_day-(1, 2)-(5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[julian-(1, 1)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[julian-(1, 1)-()--(1, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[julian-(1, 3)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[julian-(1, 3)-()--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[julian-(1, 2)-()--(2, 4)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[julian-(2, 4)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[julian-(1, 1)-(5, 5, 5, 5)--(1, 2)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[julian-(1, 2)-(5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[all_leap-(1, 1)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[all_leap-(1, 1)-()--(1, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[all_leap-(1, 3)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[all_leap-(1, 3)-()--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[all_leap-(1, 2)-()--(2, 4)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[all_leap-(2, 4)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[all_leap-(1, 1)-(5, 5, 5, 5)--(1, 2)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[all_leap-(1, 2)-(5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[366_day-(1, 1)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[366_day-(1, 1)-()--(1, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[366_day-(1, 3)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[366_day-(1, 3)-()--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[366_day-(1, 2)-()--(2, 4)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[366_day-(2, 4)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[366_day-(1, 1)-(5, 5, 5, 5)--(1, 2)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[366_day-(1, 2)-(5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[gregorian-(1, 1)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[gregorian-(1, 1)-()--(1, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[gregorian-(1, 3)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[gregorian-(1, 3)-()--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[gregorian-(1, 2)-()--(2, 4)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[gregorian-(2, 4)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[gregorian-(1, 1)-(5, 5, 5, 5)--(1, 2)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[gregorian-(1, 2)-(5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[proleptic_gregorian-(1, 1)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[proleptic_gregorian-(1, 1)-()--(1, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[proleptic_gregorian-(1, 3)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[proleptic_gregorian-(1, 3)-()--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[proleptic_gregorian-(1, 2)-()--(2, 4)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[proleptic_gregorian-(2, 4)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[proleptic_gregorian-(1, 1)-(5, 5, 5, 5)--(1, 2)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[proleptic_gregorian-(1, 2)-(5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[standard-(1, 1)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[standard-(1, 1)-()--(1, 3)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[standard-(1, 3)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[standard-(1, 3)-()--(1, 1)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[standard-(1, 2)-()--(2, 4)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[standard-(2, 4)-()--(1, 2)-()] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[standard-(1, 1)-(5, 5, 5, 5)--(1, 2)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_month_end_onOffset[standard-(1, 2)-(5, 5, 5, 5)--(1, 1)-(5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[365_day-(1, 1, 1)--(2, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[365_day-(1, 1, 1)--(3, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[365_day-(1, 1, 1)--(1, 2, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[365_day-(1, 1, 7)--(3, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[365_day-(2, 2, 1)--(2, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[365_day-(1, 1, 2)--(1, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[365_day-(1, 1, 1, 5, 5, 5, 5)--(2, 1, 1, 5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[365_day-(2, 1, 1, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[360_day-(1, 1, 1)--(2, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[360_day-(1, 1, 1)--(3, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[360_day-(1, 1, 1)--(1, 2, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[360_day-(1, 1, 7)--(3, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[360_day-(2, 2, 1)--(2, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[360_day-(1, 1, 2)--(1, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[360_day-(1, 1, 1, 5, 5, 5, 5)--(2, 1, 1, 5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[360_day-(2, 1, 1, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[julian-(1, 1, 1)--(2, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[julian-(1, 1, 1)--(3, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[julian-(1, 1, 1)--(1, 2, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[julian-(1, 1, 7)--(3, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[julian-(2, 2, 1)--(2, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[julian-(1, 1, 2)--(1, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[julian-(1, 1, 1, 5, 5, 5, 5)--(2, 1, 1, 5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[julian-(2, 1, 1, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[all_leap-(1, 1, 1)--(2, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[all_leap-(1, 1, 1)--(3, 1, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[all_leap-(1, 1, 1)--(1, 2, 1)] PASSED [ 20%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[all_leap-(1, 1, 7)--(3, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[all_leap-(2, 2, 1)--(2, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[all_leap-(1, 1, 2)--(1, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[all_leap-(1, 1, 1, 5, 5, 5, 5)--(2, 1, 1, 5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[all_leap-(2, 1, 1, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[366_day-(1, 1, 1)--(2, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[366_day-(1, 1, 1)--(3, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[366_day-(1, 1, 1)--(1, 2, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[366_day-(1, 1, 7)--(3, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[366_day-(2, 2, 1)--(2, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[366_day-(1, 1, 2)--(1, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[366_day-(1, 1, 1, 5, 5, 5, 5)--(2, 1, 1, 5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[366_day-(2, 1, 1, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[gregorian-(1, 1, 1)--(2, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[gregorian-(1, 1, 1)--(3, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[gregorian-(1, 1, 1)--(1, 2, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[gregorian-(1, 1, 7)--(3, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[gregorian-(2, 2, 1)--(2, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[gregorian-(1, 1, 2)--(1, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[gregorian-(1, 1, 1, 5, 5, 5, 5)--(2, 1, 1, 5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[gregorian-(2, 1, 1, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[proleptic_gregorian-(1, 1, 1)--(2, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[proleptic_gregorian-(1, 1, 1)--(3, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[proleptic_gregorian-(1, 1, 1)--(1, 2, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[proleptic_gregorian-(1, 1, 7)--(3, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[proleptic_gregorian-(2, 2, 1)--(2, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[proleptic_gregorian-(1, 1, 2)--(1, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[proleptic_gregorian-(1, 1, 1, 5, 5, 5, 5)--(2, 1, 1, 5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[proleptic_gregorian-(2, 1, 1, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[standard-(1, 1, 1)--(2, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[standard-(1, 1, 1)--(3, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[standard-(1, 1, 1)--(1, 2, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[standard-(1, 1, 7)--(3, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[standard-(2, 2, 1)--(2, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[standard-(1, 1, 2)--(1, 1, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[standard-(1, 1, 1, 5, 5, 5, 5)--(2, 1, 1, 5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_begin[standard-(2, 1, 1, 5, 5, 5, 5)--(1, 1, 1, 5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[365_day-(1, 1, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[365_day-(1, 1, 1)--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[365_day-(1, 1, 1)--(1, 1)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[365_day-(2, 3, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[365_day-(1, 3, 1)--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[365_day-(1, 1, 1, 5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[365_day-(1, 1, 1, 5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[360_day-(1, 1, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[360_day-(1, 1, 1)--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[360_day-(1, 1, 1)--(1, 1)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[360_day-(2, 3, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[360_day-(1, 3, 1)--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[360_day-(1, 1, 1, 5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[360_day-(1, 1, 1, 5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[julian-(1, 1, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[julian-(1, 1, 1)--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[julian-(1, 1, 1)--(1, 1)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[julian-(2, 3, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[julian-(1, 3, 1)--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[julian-(1, 1, 1, 5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[julian-(1, 1, 1, 5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[all_leap-(1, 1, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[all_leap-(1, 1, 1)--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[all_leap-(1, 1, 1)--(1, 1)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[all_leap-(2, 3, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[all_leap-(1, 3, 1)--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[all_leap-(1, 1, 1, 5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[all_leap-(1, 1, 1, 5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[366_day-(1, 1, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[366_day-(1, 1, 1)--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[366_day-(1, 1, 1)--(1, 1)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[366_day-(2, 3, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[366_day-(1, 3, 1)--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[366_day-(1, 1, 1, 5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[366_day-(1, 1, 1, 5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[gregorian-(1, 1, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[gregorian-(1, 1, 1)--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[gregorian-(1, 1, 1)--(1, 1)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[gregorian-(2, 3, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[gregorian-(1, 3, 1)--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[gregorian-(1, 1, 1, 5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[gregorian-(1, 1, 1, 5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[proleptic_gregorian-(1, 1, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[proleptic_gregorian-(1, 1, 1)--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[proleptic_gregorian-(1, 1, 1)--(1, 1)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[proleptic_gregorian-(2, 3, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[proleptic_gregorian-(1, 3, 1)--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[proleptic_gregorian-(1, 1, 1, 5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[proleptic_gregorian-(1, 1, 1, 5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[standard-(1, 1, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[standard-(1, 1, 1)--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[standard-(1, 1, 1)--(1, 1)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[standard-(2, 3, 1)--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[standard-(1, 3, 1)--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[standard-(1, 1, 1, 5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end[standard-(1, 1, 1, 5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[365_day-(1, 12)-()--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[365_day-(1, 12)-()--(3, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[365_day-(2, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[365_day-(3, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[365_day-(1, 1)-()--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[365_day-(1, 12)-(5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[365_day-(2, 12)-(5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[360_day-(1, 12)-()--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[360_day-(1, 12)-()--(3, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[360_day-(2, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[360_day-(3, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[360_day-(1, 1)-()--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[360_day-(1, 12)-(5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[360_day-(2, 12)-(5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[julian-(1, 12)-()--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[julian-(1, 12)-()--(3, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[julian-(2, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[julian-(3, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[julian-(1, 1)-()--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[julian-(1, 12)-(5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[julian-(2, 12)-(5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[all_leap-(1, 12)-()--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[all_leap-(1, 12)-()--(3, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[all_leap-(2, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[all_leap-(3, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[all_leap-(1, 1)-()--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[all_leap-(1, 12)-(5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[all_leap-(2, 12)-(5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[366_day-(1, 12)-()--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[366_day-(1, 12)-()--(3, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[366_day-(2, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[366_day-(3, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[366_day-(1, 1)-()--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[366_day-(1, 12)-(5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[366_day-(2, 12)-(5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[gregorian-(1, 12)-()--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[gregorian-(1, 12)-()--(3, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[gregorian-(2, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[gregorian-(3, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[gregorian-(1, 1)-()--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[gregorian-(1, 12)-(5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[gregorian-(2, 12)-(5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[proleptic_gregorian-(1, 12)-()--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[proleptic_gregorian-(1, 12)-()--(3, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[proleptic_gregorian-(2, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[proleptic_gregorian-(3, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[proleptic_gregorian-(1, 1)-()--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[proleptic_gregorian-(1, 12)-(5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[proleptic_gregorian-(2, 12)-(5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[standard-(1, 12)-()--(2, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[standard-(1, 12)-()--(3, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[standard-(2, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[standard-(3, 12)-()--(1, 12)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[standard-(1, 1)-()--(1, 2)-()] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[standard-(1, 12)-(5, 5, 5, 5)--(2, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_year_end_onOffset[standard-(2, 12)-(5, 5, 5, 5)--(1, 12)-(5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[365_day-(1, 1, 1)--(1, 3, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[365_day-(1, 1, 1)--(1, 6, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[365_day-(1, 1, 1)--(1, 2, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[365_day-(1, 1, 7)--(1, 6, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[365_day-(2, 2, 1)--(1, 12, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[365_day-(1, 3, 2)--(1, 3, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[365_day-(1, 1, 1, 5, 5, 5, 5)--(1, 3, 1, 5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[365_day-(2, 1, 1, 5, 5, 5, 5)--(1, 12, 1, 5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[360_day-(1, 1, 1)--(1, 3, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[360_day-(1, 1, 1)--(1, 6, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[360_day-(1, 1, 1)--(1, 2, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[360_day-(1, 1, 7)--(1, 6, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[360_day-(2, 2, 1)--(1, 12, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[360_day-(1, 3, 2)--(1, 3, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[360_day-(1, 1, 1, 5, 5, 5, 5)--(1, 3, 1, 5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[360_day-(2, 1, 1, 5, 5, 5, 5)--(1, 12, 1, 5, 5, 5, 5)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[julian-(1, 1, 1)--(1, 3, 1)] PASSED [ 21%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[julian-(1, 1, 1)--(1, 6, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[julian-(1, 1, 1)--(1, 2, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[julian-(1, 1, 7)--(1, 6, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[julian-(2, 2, 1)--(1, 12, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[julian-(1, 3, 2)--(1, 3, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[julian-(1, 1, 1, 5, 5, 5, 5)--(1, 3, 1, 5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[julian-(2, 1, 1, 5, 5, 5, 5)--(1, 12, 1, 5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[all_leap-(1, 1, 1)--(1, 3, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[all_leap-(1, 1, 1)--(1, 6, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[all_leap-(1, 1, 1)--(1, 2, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[all_leap-(1, 1, 7)--(1, 6, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[all_leap-(2, 2, 1)--(1, 12, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[all_leap-(1, 3, 2)--(1, 3, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[all_leap-(1, 1, 1, 5, 5, 5, 5)--(1, 3, 1, 5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[all_leap-(2, 1, 1, 5, 5, 5, 5)--(1, 12, 1, 5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[366_day-(1, 1, 1)--(1, 3, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[366_day-(1, 1, 1)--(1, 6, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[366_day-(1, 1, 1)--(1, 2, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[366_day-(1, 1, 7)--(1, 6, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[366_day-(2, 2, 1)--(1, 12, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[366_day-(1, 3, 2)--(1, 3, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[366_day-(1, 1, 1, 5, 5, 5, 5)--(1, 3, 1, 5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[366_day-(2, 1, 1, 5, 5, 5, 5)--(1, 12, 1, 5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[gregorian-(1, 1, 1)--(1, 3, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[gregorian-(1, 1, 1)--(1, 6, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[gregorian-(1, 1, 1)--(1, 2, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[gregorian-(1, 1, 7)--(1, 6, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[gregorian-(2, 2, 1)--(1, 12, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[gregorian-(1, 3, 2)--(1, 3, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[gregorian-(1, 1, 1, 5, 5, 5, 5)--(1, 3, 1, 5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[gregorian-(2, 1, 1, 5, 5, 5, 5)--(1, 12, 1, 5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[proleptic_gregorian-(1, 1, 1)--(1, 3, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[proleptic_gregorian-(1, 1, 1)--(1, 6, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[proleptic_gregorian-(1, 1, 1)--(1, 2, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[proleptic_gregorian-(1, 1, 7)--(1, 6, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[proleptic_gregorian-(2, 2, 1)--(1, 12, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[proleptic_gregorian-(1, 3, 2)--(1, 3, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[proleptic_gregorian-(1, 1, 1, 5, 5, 5, 5)--(1, 3, 1, 5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[proleptic_gregorian-(2, 1, 1, 5, 5, 5, 5)--(1, 12, 1, 5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[standard-(1, 1, 1)--(1, 3, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[standard-(1, 1, 1)--(1, 6, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[standard-(1, 1, 1)--(1, 2, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[standard-(1, 1, 7)--(1, 6, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[standard-(2, 2, 1)--(1, 12, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[standard-(1, 3, 2)--(1, 3, 1)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[standard-(1, 1, 1, 5, 5, 5, 5)--(1, 3, 1, 5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_begin[standard-(2, 1, 1, 5, 5, 5, 5)--(1, 12, 1, 5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[365_day-(1, 1, 1)--(1, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[365_day-(1, 1, 1)--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[365_day-(1, 1, 1)--(1, 1)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[365_day-(2, 3, 1)--(1, 12)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[365_day-(1, 3, 1)--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[365_day-(1, 1, 1, 5, 5, 5, 5)--(1, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[365_day-(1, 1, 1, 5, 5, 5, 5)--(1, 6)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[360_day-(1, 1, 1)--(1, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[360_day-(1, 1, 1)--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[360_day-(1, 1, 1)--(1, 1)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[360_day-(2, 3, 1)--(1, 12)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[360_day-(1, 3, 1)--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[360_day-(1, 1, 1, 5, 5, 5, 5)--(1, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[360_day-(1, 1, 1, 5, 5, 5, 5)--(1, 6)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[julian-(1, 1, 1)--(1, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[julian-(1, 1, 1)--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[julian-(1, 1, 1)--(1, 1)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[julian-(2, 3, 1)--(1, 12)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[julian-(1, 3, 1)--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[julian-(1, 1, 1, 5, 5, 5, 5)--(1, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[julian-(1, 1, 1, 5, 5, 5, 5)--(1, 6)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[all_leap-(1, 1, 1)--(1, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[all_leap-(1, 1, 1)--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[all_leap-(1, 1, 1)--(1, 1)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[all_leap-(2, 3, 1)--(1, 12)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[all_leap-(1, 3, 1)--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[all_leap-(1, 1, 1, 5, 5, 5, 5)--(1, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[all_leap-(1, 1, 1, 5, 5, 5, 5)--(1, 6)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[366_day-(1, 1, 1)--(1, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[366_day-(1, 1, 1)--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[366_day-(1, 1, 1)--(1, 1)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[366_day-(2, 3, 1)--(1, 12)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[366_day-(1, 3, 1)--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[366_day-(1, 1, 1, 5, 5, 5, 5)--(1, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[366_day-(1, 1, 1, 5, 5, 5, 5)--(1, 6)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[gregorian-(1, 1, 1)--(1, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[gregorian-(1, 1, 1)--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[gregorian-(1, 1, 1)--(1, 1)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[gregorian-(2, 3, 1)--(1, 12)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[gregorian-(1, 3, 1)--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[gregorian-(1, 1, 1, 5, 5, 5, 5)--(1, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[gregorian-(1, 1, 1, 5, 5, 5, 5)--(1, 6)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[proleptic_gregorian-(1, 1, 1)--(1, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[proleptic_gregorian-(1, 1, 1)--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[proleptic_gregorian-(1, 1, 1)--(1, 1)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[proleptic_gregorian-(2, 3, 1)--(1, 12)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[proleptic_gregorian-(1, 3, 1)--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[proleptic_gregorian-(1, 1, 1, 5, 5, 5, 5)--(1, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[proleptic_gregorian-(1, 1, 1, 5, 5, 5, 5)--(1, 6)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[standard-(1, 1, 1)--(1, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[standard-(1, 1, 1)--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[standard-(1, 1, 1)--(1, 1)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[standard-(2, 3, 1)--(1, 12)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[standard-(1, 3, 1)--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[standard-(1, 1, 1, 5, 5, 5, 5)--(1, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end[standard-(1, 1, 1, 5, 5, 5, 5)--(1, 6)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[365_day-(1, 12)-()--(2, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[365_day-(1, 12)-()--(2, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[365_day-(1, 12)-()--(1, 9)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[365_day-(1, 12)-()--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[365_day-(1, 1)-()--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[365_day-(1, 12)-(5, 5, 5, 5)--(2, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[365_day-(1, 12)-(5, 5, 5, 5)--(1, 9)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[360_day-(1, 12)-()--(2, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[360_day-(1, 12)-()--(2, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[360_day-(1, 12)-()--(1, 9)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[360_day-(1, 12)-()--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[360_day-(1, 1)-()--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[360_day-(1, 12)-(5, 5, 5, 5)--(2, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[360_day-(1, 12)-(5, 5, 5, 5)--(1, 9)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[julian-(1, 12)-()--(2, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[julian-(1, 12)-()--(2, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[julian-(1, 12)-()--(1, 9)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[julian-(1, 12)-()--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[julian-(1, 1)-()--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[julian-(1, 12)-(5, 5, 5, 5)--(2, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[julian-(1, 12)-(5, 5, 5, 5)--(1, 9)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[all_leap-(1, 12)-()--(2, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[all_leap-(1, 12)-()--(2, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[all_leap-(1, 12)-()--(1, 9)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[all_leap-(1, 12)-()--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[all_leap-(1, 1)-()--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[all_leap-(1, 12)-(5, 5, 5, 5)--(2, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[all_leap-(1, 12)-(5, 5, 5, 5)--(1, 9)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[366_day-(1, 12)-()--(2, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[366_day-(1, 12)-()--(2, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[366_day-(1, 12)-()--(1, 9)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[366_day-(1, 12)-()--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[366_day-(1, 1)-()--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[366_day-(1, 12)-(5, 5, 5, 5)--(2, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[366_day-(1, 12)-(5, 5, 5, 5)--(1, 9)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[gregorian-(1, 12)-()--(2, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[gregorian-(1, 12)-()--(2, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[gregorian-(1, 12)-()--(1, 9)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[gregorian-(1, 12)-()--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[gregorian-(1, 1)-()--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[gregorian-(1, 12)-(5, 5, 5, 5)--(2, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[gregorian-(1, 12)-(5, 5, 5, 5)--(1, 9)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[proleptic_gregorian-(1, 12)-()--(2, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[proleptic_gregorian-(1, 12)-()--(2, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[proleptic_gregorian-(1, 12)-()--(1, 9)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[proleptic_gregorian-(1, 12)-()--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[proleptic_gregorian-(1, 1)-()--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[proleptic_gregorian-(1, 12)-(5, 5, 5, 5)--(2, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[proleptic_gregorian-(1, 12)-(5, 5, 5, 5)--(1, 9)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[standard-(1, 12)-()--(2, 3)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[standard-(1, 12)-()--(2, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[standard-(1, 12)-()--(1, 9)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[standard-(1, 12)-()--(1, 6)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[standard-(1, 1)-()--(1, 2)-()] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[standard-(1, 12)-(5, 5, 5, 5)--(2, 3)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_add_quarter_end_onOffset[standard-(1, 12)-(5, 5, 5, 5)--(1, 9)-(5, 5, 5, 5)] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 1, 1)--True] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 1, 1, 1)--True] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 1, 5)--False] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 1, 5)--False] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 3, 1)--True] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 3, 1, 1)--True] PASSED [ 22%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 3, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[365_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 3, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 3, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 3, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[360_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 3, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 3, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 3, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[julian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 3, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 3, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 3, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[all_leap-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 3, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 3, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 3, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[366_day-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 3, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 3, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 3, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 3, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 3, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 3, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[proleptic_gregorian-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 3, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 3, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 3, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 1, 5)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 12, 1)--False] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset[standard-(1, 1, 1)--True] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[365_day-(1, 1)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[365_day-(1, 1)-(1,)-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[365_day-(1, 12)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[365_day-(1, 1)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[365_day-(1, 12)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[365_day-(1, 1)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[360_day-(1, 1)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[360_day-(1, 1)-(1,)-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[360_day-(1, 12)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[360_day-(1, 1)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[360_day-(1, 12)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[360_day-(1, 1)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[julian-(1, 1)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[julian-(1, 1)-(1,)-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[julian-(1, 12)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[julian-(1, 1)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[julian-(1, 12)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[julian-(1, 1)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[all_leap-(1, 1)-()-] PASSED [ 23%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[all_leap-(1, 1)-(1,)-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[all_leap-(1, 12)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[all_leap-(1, 1)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[all_leap-(1, 12)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[all_leap-(1, 1)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[366_day-(1, 1)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[366_day-(1, 1)-(1,)-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[366_day-(1, 12)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[366_day-(1, 1)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[366_day-(1, 12)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[366_day-(1, 1)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[gregorian-(1, 1)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[gregorian-(1, 1)-(1,)-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[gregorian-(1, 12)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[gregorian-(1, 1)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[gregorian-(1, 12)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[gregorian-(1, 1)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[proleptic_gregorian-(1, 1)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[proleptic_gregorian-(1, 1)-(1,)-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[proleptic_gregorian-(1, 12)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[proleptic_gregorian-(1, 1)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[proleptic_gregorian-(1, 12)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[proleptic_gregorian-(1, 1)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[standard-(1, 1)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[standard-(1, 1)-(1,)-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[standard-(1, 12)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[standard-(1, 1)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[standard-(1, 12)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_onOffset_month_or_quarter_or_year_end[standard-(1, 1)-()-] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 1)-(2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 1, 1)-(1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 1)-(2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 1)-(2, 2)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 1)-(1, 12)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 1)-(1, 12)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 1)-(2, 2)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 2)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 4, 1)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 4, 1)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 4, 1)-(1, 5)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 1)-(1, 5)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 2)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 2)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 2)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 2)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[365_day--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 1)-(2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 1, 1)-(1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 1)-(2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 1)-(2, 2)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 1)-(1, 12)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 1)-(1, 12)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 1)-(2, 2)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 2)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 4, 1)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 4, 1)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 4, 1)-(1, 5)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 1)-(1, 5)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 2)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 2)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 2)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 2)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[360_day--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 1)-(2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 1, 1)-(1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 1)-(2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 1)-(2, 2)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 1)-(1, 12)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 1)-(1, 12)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 1)-(2, 2)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 2)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 4, 1)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 4, 1)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 4, 1)-(1, 5)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 1)-(1, 5)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 2)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 2)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 2)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 2)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[julian--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 1)-(2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 1, 1)-(1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 1)-(2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 1)-(2, 2)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 1)-(1, 12)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 1)-(1, 12)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 1)-(2, 2)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 2)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 4, 1)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 4, 1)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 4, 1)-(1, 5)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 1)-(1, 5)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 2)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 2)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 2)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 2)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[all_leap--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 1)-(2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 1, 1)-(1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 1)-(2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 1)-(2, 2)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 1)-(1, 12)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 1)-(1, 12)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 1)-(2, 2)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 2)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 4, 1)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 4, 1)-(1, 6)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 4, 1)-(1, 5)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 1)-(1, 5)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 2)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 1)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 2)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 2)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 4, 30)-(1, 4)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 2)-(1, 3)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 24%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[366_day--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 1)-(2, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 1, 1)-(1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 1)-(2, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 1)-(2, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 1)-(2, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 2)-(1, 6)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 4, 1)-(1, 6)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 4, 1)-(1, 6)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 4, 1)-(1, 5)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 1)-(1, 5)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 2)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 2)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[gregorian--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 1)-(2, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 1, 1)-(1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 1)-(2, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 1)-(2, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 1)-(2, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 2)-(1, 6)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 4, 1)-(1, 6)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 4, 1)-(1, 6)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 4, 1)-(1, 5)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 1)-(1, 5)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 2)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 2)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[proleptic_gregorian--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 1)-(2, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 1, 1)-(1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 1)-(2, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 1)-(2, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 1)-(2, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 2)-(1, 6)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 4, 1)-(1, 6)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 4, 1)-(1, 6)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 4, 1)-(1, 5)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 1)-(1, 5)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 2)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 2)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollforward[standard--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 1)-(1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 1)-(1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 1)-(1, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 1, 1)-(1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 2, 1)-(1, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(2, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(2, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(2, 3, 1)-(2, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 4, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 4, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 4, 1)-(1, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(2, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(2, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(2, 3, 1)-(2, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 2)-(1, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 2)-(1, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[365_day--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 1)-(1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 1)-(1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 1)-(1, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 1, 1)-(1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 2, 1)-(1, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(2, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(2, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(2, 3, 1)-(2, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 4, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 4, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 4, 1)-(1, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(2, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(2, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(2, 3, 1)-(2, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 2)-(1, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 2)-(1, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[360_day--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 1)-(1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 1)-(1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 1)-(1, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 1, 1)-(1, 1)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 2, 1)-(1, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(2, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(2, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(2, 3, 1)-(2, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 4, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 4, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 4, 1)-(1, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(2, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(2, 3, 1)-(1, 12)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(2, 3, 1)-(2, 2)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 4, 30)-(1, 4)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 2)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 1)-(1, 3)] PASSED [ 25%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 2)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 2)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[julian--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 1, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 2, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(2, 3, 1)-(2, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 4, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 4, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 4, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(2, 3, 1)-(2, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 2)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 2)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[all_leap--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 1, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 2, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(2, 3, 1)-(2, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 4, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 4, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 4, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(2, 3, 1)-(2, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 2)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 2)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[366_day--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 1, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 2, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(2, 3, 1)-(2, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 4, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 4, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 4, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(2, 3, 1)-(2, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 2)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 2)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[gregorian--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 1, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 2, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(2, 3, 1)-(2, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 4, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 4, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 4, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(2, 3, 1)-(2, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 2)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 2)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[proleptic_gregorian--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 1, 1)-(1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 2, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(2, 3, 1)-(2, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 4, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 4, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 4, 1)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(2, 3, 1)-(1, 12)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(2, 3, 1)-(2, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 2)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 1)-(1, 3)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 2)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 2)-(1, 2)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 4, 30)-(1, 4)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 2, 1)-(1, 3, 2, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 2, 1, 1)-(1, 3, 2, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 2, 1, 1, 1)-(1, 3, 2, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 2, 1, 1, 1, 1000)-(1, 3, 2, 1, 1, 1, 1000)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_rollback[standard--(1, 3, 2, 1, 1, 1, 1)-(1, 3, 2, 1, 1, 1, 1)] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-0001-01-01-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-0001-01-01-0001-01-04-None-D-left-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3)]] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-0001-01-01-0001-01-04-None-D-right-False-[(1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-0001-01-01T01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-0001-01-01 01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-0001-01-01T01:00:00-0001-01-04-None-D-None-True-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-0001-01-01-None-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-None-0001-01-04-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-(1, 1, 1)-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-(1, 1, 1)-(1, 1, 4)-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-0001-01-30-0011-02-01-None-3AS-JUN-None-False-[(1, 6, 1), (4, 6, 1), (7, 6, 1), (10, 6, 1)]] PASSED [ 26%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-0001-01-04-0001-01-01-None-D-None-False-[]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-0010-None-4--None-False-[(10, 1, 1), (8, 1, 1), (6, 1, 1), (4, 1, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-0001-01-01-0001-01-04-4-None-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[365_day-0001-06-01-None-4-3QS-JUN-None-False-[(1, 6, 1), (2, 3, 1), (2, 12, 1), (3, 9, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-0001-01-01-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-0001-01-01-0001-01-04-None-D-left-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-0001-01-01-0001-01-04-None-D-right-False-[(1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-0001-01-01T01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-0001-01-01 01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-0001-01-01T01:00:00-0001-01-04-None-D-None-True-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-0001-01-01-None-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-None-0001-01-04-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-(1, 1, 1)-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-(1, 1, 1)-(1, 1, 4)-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-0001-01-30-0011-02-01-None-3AS-JUN-None-False-[(1, 6, 1), (4, 6, 1), (7, 6, 1), (10, 6, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-0001-01-04-0001-01-01-None-D-None-False-[]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-0010-None-4--None-False-[(10, 1, 1), (8, 1, 1), (6, 1, 1), (4, 1, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-0001-01-01-0001-01-04-4-None-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[360_day-0001-06-01-None-4-3QS-JUN-None-False-[(1, 6, 1), (2, 3, 1), (2, 12, 1), (3, 9, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-0001-01-01-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-0001-01-01-0001-01-04-None-D-left-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-0001-01-01-0001-01-04-None-D-right-False-[(1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-0001-01-01T01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-0001-01-01 01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-0001-01-01T01:00:00-0001-01-04-None-D-None-True-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-0001-01-01-None-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-None-0001-01-04-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-(1, 1, 1)-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-(1, 1, 1)-(1, 1, 4)-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-0001-01-30-0011-02-01-None-3AS-JUN-None-False-[(1, 6, 1), (4, 6, 1), (7, 6, 1), (10, 6, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-0001-01-04-0001-01-01-None-D-None-False-[]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-0010-None-4--None-False-[(10, 1, 1), (8, 1, 1), (6, 1, 1), (4, 1, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-0001-01-01-0001-01-04-4-None-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[julian-0001-06-01-None-4-3QS-JUN-None-False-[(1, 6, 1), (2, 3, 1), (2, 12, 1), (3, 9, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-0001-01-01-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-0001-01-01-0001-01-04-None-D-left-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-0001-01-01-0001-01-04-None-D-right-False-[(1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-0001-01-01T01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-0001-01-01 01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-0001-01-01T01:00:00-0001-01-04-None-D-None-True-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-0001-01-01-None-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-None-0001-01-04-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-(1, 1, 1)-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-(1, 1, 1)-(1, 1, 4)-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-0001-01-30-0011-02-01-None-3AS-JUN-None-False-[(1, 6, 1), (4, 6, 1), (7, 6, 1), (10, 6, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-0001-01-04-0001-01-01-None-D-None-False-[]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-0010-None-4--None-False-[(10, 1, 1), (8, 1, 1), (6, 1, 1), (4, 1, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-0001-01-01-0001-01-04-4-None-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[all_leap-0001-06-01-None-4-3QS-JUN-None-False-[(1, 6, 1), (2, 3, 1), (2, 12, 1), (3, 9, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-0001-01-01-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-0001-01-01-0001-01-04-None-D-left-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-0001-01-01-0001-01-04-None-D-right-False-[(1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-0001-01-01T01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-0001-01-01 01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-0001-01-01T01:00:00-0001-01-04-None-D-None-True-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-0001-01-01-None-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-None-0001-01-04-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-(1, 1, 1)-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-(1, 1, 1)-(1, 1, 4)-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-0001-01-30-0011-02-01-None-3AS-JUN-None-False-[(1, 6, 1), (4, 6, 1), (7, 6, 1), (10, 6, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-0001-01-04-0001-01-01-None-D-None-False-[]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-0010-None-4--None-False-[(10, 1, 1), (8, 1, 1), (6, 1, 1), (4, 1, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-0001-01-01-0001-01-04-4-None-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[366_day-0001-06-01-None-4-3QS-JUN-None-False-[(1, 6, 1), (2, 3, 1), (2, 12, 1), (3, 9, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-0001-01-01-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-0001-01-01-0001-01-04-None-D-left-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-0001-01-01-0001-01-04-None-D-right-False-[(1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-0001-01-01T01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-0001-01-01 01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-0001-01-01T01:00:00-0001-01-04-None-D-None-True-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-0001-01-01-None-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-None-0001-01-04-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-(1, 1, 1)-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-(1, 1, 1)-(1, 1, 4)-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-0001-01-30-0011-02-01-None-3AS-JUN-None-False-[(1, 6, 1), (4, 6, 1), (7, 6, 1), (10, 6, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-0001-01-04-0001-01-01-None-D-None-False-[]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-0010-None-4--None-False-[(10, 1, 1), (8, 1, 1), (6, 1, 1), (4, 1, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-0001-01-01-0001-01-04-4-None-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[gregorian-0001-06-01-None-4-3QS-JUN-None-False-[(1, 6, 1), (2, 3, 1), (2, 12, 1), (3, 9, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-0001-01-01-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-0001-01-01-0001-01-04-None-D-left-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-0001-01-01-0001-01-04-None-D-right-False-[(1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-0001-01-01T01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-0001-01-01 01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-0001-01-01T01:00:00-0001-01-04-None-D-None-True-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-0001-01-01-None-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-None-0001-01-04-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-(1, 1, 1)-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-(1, 1, 1)-(1, 1, 4)-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-0001-01-30-0011-02-01-None-3AS-JUN-None-False-[(1, 6, 1), (4, 6, 1), (7, 6, 1), (10, 6, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-0001-01-04-0001-01-01-None-D-None-False-[]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-0010-None-4--None-False-[(10, 1, 1), (8, 1, 1), (6, 1, 1), (4, 1, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-0001-01-01-0001-01-04-4-None-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[proleptic_gregorian-0001-06-01-None-4-3QS-JUN-None-False-[(1, 6, 1), (2, 3, 1), (2, 12, 1), (3, 9, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-0001-01-01-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-0001-01-01-0001-01-04-None-D-left-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-0001-01-01-0001-01-04-None-D-right-False-[(1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-0001-01-01T01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-0001-01-01 01:00:00-0001-01-04-None-D-None-False-[(1, 1, 1, 1), (1, 1, 2, 1), (1, 1, 3, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-0001-01-01T01:00:00-0001-01-04-None-D-None-True-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-0001-01-01-None-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-None-0001-01-04-4-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-(1, 1, 1)-0001-01-04-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-(1, 1, 1)-(1, 1, 4)-None-D-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-0001-01-30-0011-02-01-None-3AS-JUN-None-False-[(1, 6, 1), (4, 6, 1), (7, 6, 1), (10, 6, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-0001-01-04-0001-01-01-None-D-None-False-[]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-0010-None-4--None-False-[(10, 1, 1), (8, 1, 1), (6, 1, 1), (4, 1, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-0001-01-01-0001-01-04-4-None-None-False-[(1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 1, 4)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range[standard-0001-06-01-None-4-3QS-JUN-None-False-[(1, 6, 1), (2, 3, 1), (2, 12, 1), (3, 9, 1)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range_name PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_invalid_cftime_range_inputs[None-None-5-A-None] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_invalid_cftime_range_inputs[2000-None-None-A-None] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_invalid_cftime_range_inputs[None-2000-None-A-None] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_invalid_cftime_range_inputs[2000-2001-None-None-None] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_invalid_cftime_range_inputs[None-None-None-None-None] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_invalid_cftime_range_inputs[2000-2001-None-A-up] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_invalid_cftime_range_inputs[2000-2001-5-A-None] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_specific_month_end[2M-noleap-[(2, 28), (4, 30), (6, 30), (8, 31), (10, 31), (12, 31)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_specific_month_end[2M-all_leap-[(2, 29), (4, 30), (6, 30), (8, 31), (10, 31), (12, 31)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_specific_month_end[2M-360_day-[(2, 30), (4, 30), (6, 30), (8, 30), (10, 30), (12, 30)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_specific_month_end[2M-standard-[(2, 29), (4, 30), (6, 30), (8, 31), (10, 31), (12, 31)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_specific_month_end[2M-gregorian-[(2, 29), (4, 30), (6, 30), (8, 31), (10, 31), (12, 31)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_specific_month_end[2M-julian-[(2, 29), (4, 30), (6, 30), (8, 31), (10, 31), (12, 31)]] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_year_length[noleap-2000-2001-365] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_year_length[all_leap-2000-2001-366] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_year_length[360_day-2000-2001-360] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_year_length[standard-2000-2001-366] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_year_length[gregorian-2000-2001-366] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_year_length[julian-2000-2001-366] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_year_length[noleap-2001-2002-365] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_year_length[all_leap-2001-2002-366] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_year_length[360_day-2001-2002-360] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_year_length[standard-2001-2002-365] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_year_length[gregorian-2001-2002-365] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_calendar_year_length[julian-2001-2002-365] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_dayofweek_after_cftime_range[A] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_dayofweek_after_cftime_range[M] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_dayofweek_after_cftime_range[D] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_dayofyear_after_cftime_range[A] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_dayofyear_after_cftime_range[M] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_dayofyear_after_cftime_range[D] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_cftime_range_standard_calendar_refers_to_gregorian PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_date_range[1990-01-01-standard-None-DatetimeIndex] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_date_range[1990-01-01-proleptic_gregorian-True-CFTimeIndex] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_date_range[1990-01-01-noleap-None-CFTimeIndex] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_date_range[1990-01-01-gregorian-False-DatetimeIndex] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_date_range[1400-01-01-standard-None-CFTimeIndex] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_date_range[3400-01-01-standard-None-CFTimeIndex] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_date_range_errors PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_date_range_like[2020-02-01-4M-standard-noleap-None-2020-02-28-False] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_date_range_like[2020-02-01-M-noleap-gregorian-True-2020-02-29-True] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_date_range_like[2020-02-28-3H-all_leap-gregorian-False-2020-02-28-True] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_date_range_like[2020-03-30-M-360_day-gregorian-False-2020-03-31-True] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_date_range_like[2020-03-31-M-gregorian-360_day-None-2020-03-30-False] PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_date_range_like_same_calendar PASSED [ 27%] xarray/tests/test_cftime_offsets.py::test_date_range_like_errors PASSED [ 27%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_like[year] PASSED [ 27%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_like[month] PASSED [ 27%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_like[month-dash] PASSED [ 27%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_like[day] PASSED [ 27%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_like[day-dash] PASSED [ 27%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_like[hour] PASSED [ 27%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_like[hour-dash] PASSED [ 27%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_like[hour-space-separator] PASSED [ 27%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_like[minute] PASSED [ 27%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_like[minute-dash] PASSED [ 27%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_like[minute-space-separator] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_like[second] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_like[second-dash] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_like[second-space-separator] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_constructor_with_name[365_day-bar-bar] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_constructor_with_name[365_day-None-foo] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_constructor_with_name[360_day-bar-bar] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_constructor_with_name[360_day-None-foo] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_constructor_with_name[julian-bar-bar] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_constructor_with_name[julian-None-foo] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_constructor_with_name[all_leap-bar-bar] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_constructor_with_name[all_leap-None-foo] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_constructor_with_name[366_day-bar-bar] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_constructor_with_name[366_day-None-foo] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_constructor_with_name[gregorian-bar-bar] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_constructor_with_name[gregorian-None-foo] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_constructor_with_name[proleptic_gregorian-bar-bar] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_constructor_with_name[proleptic_gregorian-None-foo] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_assert_all_valid_date_type[365_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_assert_all_valid_date_type[360_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_assert_all_valid_date_type[julian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_assert_all_valid_date_type[all_leap] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_assert_all_valid_date_type[366_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_assert_all_valid_date_type[gregorian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_assert_all_valid_date_type[proleptic_gregorian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[365_day-year-expected0] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[365_day-month-expected1] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[365_day-day-expected2] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[365_day-hour-expected3] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[365_day-minute-expected4] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[365_day-second-expected5] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[365_day-microsecond-expected6] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[360_day-year-expected0] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[360_day-month-expected1] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[360_day-day-expected2] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[360_day-hour-expected3] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[360_day-minute-expected4] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[360_day-second-expected5] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[360_day-microsecond-expected6] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[julian-year-expected0] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[julian-month-expected1] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[julian-day-expected2] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[julian-hour-expected3] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[julian-minute-expected4] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[julian-second-expected5] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[julian-microsecond-expected6] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[all_leap-year-expected0] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[all_leap-month-expected1] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[all_leap-day-expected2] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[all_leap-hour-expected3] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[all_leap-minute-expected4] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[all_leap-second-expected5] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[all_leap-microsecond-expected6] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[366_day-year-expected0] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[366_day-month-expected1] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[366_day-day-expected2] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[366_day-hour-expected3] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[366_day-minute-expected4] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[366_day-second-expected5] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[366_day-microsecond-expected6] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[gregorian-year-expected0] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[gregorian-month-expected1] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[gregorian-day-expected2] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[gregorian-hour-expected3] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[gregorian-minute-expected4] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[gregorian-second-expected5] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[gregorian-microsecond-expected6] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[proleptic_gregorian-year-expected0] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[proleptic_gregorian-month-expected1] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[proleptic_gregorian-day-expected2] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[proleptic_gregorian-hour-expected3] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[proleptic_gregorian-minute-expected4] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[proleptic_gregorian-second-expected5] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_field_accessors[proleptic_gregorian-microsecond-expected6] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_dayofyear_accessor[365_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_dayofyear_accessor[360_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_dayofyear_accessor[julian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_dayofyear_accessor[all_leap] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_dayofyear_accessor[366_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_dayofyear_accessor[gregorian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_dayofyear_accessor[proleptic_gregorian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_dayofweek_accessor[365_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_dayofweek_accessor[360_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_dayofweek_accessor[julian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_dayofweek_accessor[all_leap] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_dayofweek_accessor[366_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_dayofweek_accessor[gregorian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_dayofweek_accessor[proleptic_gregorian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_days_in_month_accessor[365_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_days_in_month_accessor[360_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_days_in_month_accessor[julian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_days_in_month_accessor[all_leap] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_days_in_month_accessor[366_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_days_in_month_accessor[gregorian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_cftimeindex_days_in_month_accessor[proleptic_gregorian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[365_day-1999-date_args0-year] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[365_day-199902-date_args1-month] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[365_day-19990202-date_args2-day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[365_day-19990202T01-date_args3-hour] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[365_day-19990202T0101-date_args4-minute] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[365_day-19990202T010156-date_args5-second] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[360_day-1999-date_args0-year] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[360_day-199902-date_args1-month] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[360_day-19990202-date_args2-day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[360_day-19990202T01-date_args3-hour] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[360_day-19990202T0101-date_args4-minute] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[360_day-19990202T010156-date_args5-second] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[julian-1999-date_args0-year] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[julian-199902-date_args1-month] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[julian-19990202-date_args2-day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[julian-19990202T01-date_args3-hour] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[julian-19990202T0101-date_args4-minute] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[julian-19990202T010156-date_args5-second] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[all_leap-1999-date_args0-year] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[all_leap-199902-date_args1-month] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[all_leap-19990202-date_args2-day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[all_leap-19990202T01-date_args3-hour] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[all_leap-19990202T0101-date_args4-minute] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[all_leap-19990202T010156-date_args5-second] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[366_day-1999-date_args0-year] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[366_day-199902-date_args1-month] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[366_day-19990202-date_args2-day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[366_day-19990202T01-date_args3-hour] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[366_day-19990202T0101-date_args4-minute] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[366_day-19990202T010156-date_args5-second] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[gregorian-1999-date_args0-year] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[gregorian-199902-date_args1-month] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[gregorian-19990202-date_args2-day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[gregorian-19990202T01-date_args3-hour] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[gregorian-19990202T0101-date_args4-minute] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[gregorian-19990202T010156-date_args5-second] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[proleptic_gregorian-1999-date_args0-year] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[proleptic_gregorian-199902-date_args1-month] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[proleptic_gregorian-19990202-date_args2-day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[proleptic_gregorian-19990202T01-date_args3-hour] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[proleptic_gregorian-19990202T0101-date_args4-minute] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_iso8601_with_reso[proleptic_gregorian-19990202T010156-date_args5-second] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_year[365_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_year[360_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_year[julian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_year[all_leap] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_year[366_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_year[gregorian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_year[proleptic_gregorian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_month_feb[365_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_month_feb[360_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_month_feb[julian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_month_feb[all_leap] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_month_feb[366_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_month_feb[gregorian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_month_feb[proleptic_gregorian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_month_dec[365_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_month_dec[360_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_month_dec[julian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_month_dec[all_leap] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_month_dec[366_day] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_month_dec[gregorian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parse_string_to_bounds_month_dec[proleptic_gregorian] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[365_day-day-ex_start_args0-ex_end_args0] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[365_day-hour-ex_start_args1-ex_end_args1] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[365_day-minute-ex_start_args2-ex_end_args2] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[365_day-second-ex_start_args3-ex_end_args3] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[360_day-day-ex_start_args0-ex_end_args0] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[360_day-hour-ex_start_args1-ex_end_args1] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[360_day-minute-ex_start_args2-ex_end_args2] PASSED [ 28%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[360_day-second-ex_start_args3-ex_end_args3] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[julian-day-ex_start_args0-ex_end_args0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[julian-hour-ex_start_args1-ex_end_args1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[julian-minute-ex_start_args2-ex_end_args2] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[julian-second-ex_start_args3-ex_end_args3] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[all_leap-day-ex_start_args0-ex_end_args0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[all_leap-hour-ex_start_args1-ex_end_args1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[all_leap-minute-ex_start_args2-ex_end_args2] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[all_leap-second-ex_start_args3-ex_end_args3] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[366_day-day-ex_start_args0-ex_end_args0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[366_day-hour-ex_start_args1-ex_end_args1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[366_day-minute-ex_start_args2-ex_end_args2] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[366_day-second-ex_start_args3-ex_end_args3] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[gregorian-day-ex_start_args0-ex_end_args0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[gregorian-hour-ex_start_args1-ex_end_args1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[gregorian-minute-ex_start_args2-ex_end_args2] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[gregorian-second-ex_start_args3-ex_end_args3] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[proleptic_gregorian-day-ex_start_args0-ex_end_args0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[proleptic_gregorian-hour-ex_start_args1-ex_end_args1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[proleptic_gregorian-minute-ex_start_args2-ex_end_args2] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_sub_monthly[proleptic_gregorian-second-ex_start_args3-ex_end_args3] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_raises[365_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_raises[360_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_raises[julian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_raises[all_leap] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_raises[366_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_raises[gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_parsed_string_to_bounds_raises[proleptic_gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_loc[365_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_loc[360_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_loc[julian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_loc[all_leap] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_loc[366_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_loc[gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_loc[proleptic_gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound[365_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound[360_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound[julian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound[all_leap] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound[366_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound[gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound[proleptic_gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound_decreasing_index[365_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound_decreasing_index[360_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound_decreasing_index[julian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound_decreasing_index[all_leap] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound_decreasing_index[366_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound_decreasing_index[gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound_decreasing_index[proleptic_gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound_length_one_index[365_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound_length_one_index[360_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound_length_one_index[julian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound_length_one_index[all_leap] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound_length_one_index[366_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound_length_one_index[gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_get_slice_bound_length_one_index[proleptic_gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_string_slice_length_one_index[365_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_string_slice_length_one_index[360_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_string_slice_length_one_index[julian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_string_slice_length_one_index[all_leap] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_string_slice_length_one_index[366_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_string_slice_length_one_index[gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_string_slice_length_one_index[proleptic_gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_date_type_property[365_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_date_type_property[360_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_date_type_property[julian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_date_type_property[all_leap] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_date_type_property[366_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_date_type_property[gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_date_type_property[proleptic_gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_contains[365_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_contains[360_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_contains[julian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_contains[all_leap] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_contains[366_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_contains[gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_contains[proleptic_gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_groupby[365_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_groupby[360_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_groupby[julian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_groupby[all_leap] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_groupby[366_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_groupby[gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_groupby[proleptic_gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[365_day-string] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[365_day-string-slice] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[365_day-bool-list] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[360_day-string] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[360_day-string-slice] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[360_day-bool-list] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[julian-string] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[julian-string-slice] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[julian-bool-list] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[all_leap-string] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[all_leap-string-slice] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[all_leap-bool-list] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[366_day-string] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[366_day-string-slice] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[366_day-bool-list] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[gregorian-string] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[gregorian-string-slice] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[gregorian-bool-list] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[proleptic_gregorian-string] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[proleptic_gregorian-string-slice] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_string_or_list[proleptic_gregorian-bool-list] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_slice_or_list[365_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_slice_or_list[360_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_slice_or_list[julian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_slice_or_list[all_leap] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_slice_or_list[366_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_slice_or_list[gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_slice_or_list[proleptic_gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar[365_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar[360_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar[julian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar[all_leap] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar[366_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar[gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar[proleptic_gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_distant_date[365_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_distant_date[360_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_distant_date[julian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_distant_date[all_leap] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_distant_date[366_day] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_distant_date[gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_distant_date[proleptic_gregorian] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[365_day-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[365_day-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[365_day-sel_kwargs2] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[360_day-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[360_day-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[360_day-sel_kwargs2] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[julian-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[julian-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[julian-sel_kwargs2] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[all_leap-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[all_leap-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[all_leap-sel_kwargs2] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[366_day-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[366_day-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[366_day-sel_kwargs2] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[gregorian-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[gregorian-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[gregorian-sel_kwargs2] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[proleptic_gregorian-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[proleptic_gregorian-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_nearest[proleptic_gregorian-sel_kwargs2] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_pad[365_day-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_pad[365_day-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_pad[360_day-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_pad[360_day-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_pad[julian-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_pad[julian-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_pad[all_leap-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_pad[all_leap-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_pad[366_day-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_pad[366_day-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_pad[gregorian-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_pad[gregorian-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_pad[proleptic_gregorian-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_pad[proleptic_gregorian-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_backfill[365_day-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_backfill[365_day-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_backfill[360_day-sel_kwargs0] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_backfill[360_day-sel_kwargs1] PASSED [ 29%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_backfill[julian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_backfill[julian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_backfill[all_leap-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_backfill[all_leap-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_backfill[366_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_backfill[366_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_backfill[gregorian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_backfill[gregorian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_backfill[proleptic_gregorian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_backfill[proleptic_gregorian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[365_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[365_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[365_day-sel_kwargs2] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[360_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[360_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[360_day-sel_kwargs2] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[julian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[julian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[julian-sel_kwargs2] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[all_leap-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[all_leap-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[all_leap-sel_kwargs2] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[366_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[366_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[366_day-sel_kwargs2] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[gregorian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[gregorian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[gregorian-sel_kwargs2] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[proleptic_gregorian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[proleptic_gregorian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_scalar_tolerance_raises[proleptic_gregorian-sel_kwargs2] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_nearest[365_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_nearest[365_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_nearest[360_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_nearest[360_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_nearest[julian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_nearest[julian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_nearest[all_leap-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_nearest[all_leap-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_nearest[366_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_nearest[366_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_nearest[gregorian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_nearest[gregorian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_nearest[proleptic_gregorian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_nearest[proleptic_gregorian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_pad[365_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_pad[365_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_pad[360_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_pad[360_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_pad[julian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_pad[julian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_pad[all_leap-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_pad[all_leap-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_pad[366_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_pad[366_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_pad[gregorian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_pad[gregorian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_pad[proleptic_gregorian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_pad[proleptic_gregorian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_backfill[365_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_backfill[365_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_backfill[360_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_backfill[360_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_backfill[julian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_backfill[julian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_backfill[all_leap-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_backfill[all_leap-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_backfill[366_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_backfill[366_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_backfill[gregorian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_backfill[gregorian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_backfill[proleptic_gregorian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_backfill[proleptic_gregorian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[365_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[365_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[365_day-sel_kwargs2] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[360_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[360_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[360_day-sel_kwargs2] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[julian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[julian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[julian-sel_kwargs2] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[all_leap-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[all_leap-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[all_leap-sel_kwargs2] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[366_day-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[366_day-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[366_day-sel_kwargs2] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[gregorian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[gregorian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[gregorian-sel_kwargs2] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[proleptic_gregorian-sel_kwargs0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[proleptic_gregorian-sel_kwargs1] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_sel_date_list_tolerance_raises[proleptic_gregorian-sel_kwargs2] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_isel[365_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_isel[360_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_isel[julian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_isel[all_leap] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_isel[366_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_isel[gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_isel[proleptic_gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_getitem[365_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_getitem[360_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_getitem[julian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_getitem[all_leap] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_getitem[366_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_getitem[gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_getitem[proleptic_gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_loc[365_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_loc[360_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_loc[julian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_loc[all_leap] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_loc[366_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_loc[gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_loc[proleptic_gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_iloc[365_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_iloc[360_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_iloc[julian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_iloc[all_leap] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_iloc[366_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_iloc[gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_series_iloc[proleptic_gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_series_dropna[365_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_series_dropna[360_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_series_dropna[julian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_series_dropna[all_leap] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_series_dropna[366_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_series_dropna[gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_series_dropna[proleptic_gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_dataframe_loc[365_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_dataframe_loc[360_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_dataframe_loc[julian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_dataframe_loc[all_leap] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_dataframe_loc[366_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_dataframe_loc[gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_dataframe_loc[proleptic_gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_dataframe_iloc[365_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_dataframe_iloc[360_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_dataframe_iloc[julian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_dataframe_iloc[all_leap] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_dataframe_iloc[366_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_dataframe_iloc[gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_indexing_in_dataframe_iloc[proleptic_gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_concat_cftimeindex[365_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_concat_cftimeindex[360_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_concat_cftimeindex[julian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_concat_cftimeindex[all_leap] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_concat_cftimeindex[366_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_concat_cftimeindex[gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_concat_cftimeindex[proleptic_gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_empty_cftimeindex PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_add[365_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_add[360_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_add[julian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_add[all_leap] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_add[366_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_add[gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_add[proleptic_gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_add_timedeltaindex[365_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_add_timedeltaindex[360_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_add_timedeltaindex[julian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_add_timedeltaindex[all_leap] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_add_timedeltaindex[366_day] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_add_timedeltaindex[gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_add_timedeltaindex[proleptic_gregorian] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[365_day-D-D-2.0] PASSED [ 30%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[365_day-D-D-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[365_day-H-H-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[365_day-H-H-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[365_day-T-min-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[365_day-T-min-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[365_day-S-S-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[365_day-S-S-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[365_day-L-ms-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[365_day-L-ms-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[360_day-D-D-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[360_day-D-D-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[360_day-H-H-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[360_day-H-H-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[360_day-T-min-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[360_day-T-min-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[360_day-S-S-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[360_day-S-S-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[360_day-L-ms-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[360_day-L-ms-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[julian-D-D-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[julian-D-D-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[julian-H-H-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[julian-H-H-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[julian-T-min-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[julian-T-min-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[julian-S-S-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[julian-S-S-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[julian-L-ms-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[julian-L-ms-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[all_leap-D-D-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[all_leap-D-D-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[all_leap-H-H-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[all_leap-H-H-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[all_leap-T-min-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[all_leap-T-min-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[all_leap-S-S-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[all_leap-S-S-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[all_leap-L-ms-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[all_leap-L-ms-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[366_day-D-D-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[366_day-D-D-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[366_day-H-H-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[366_day-H-H-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[366_day-T-min-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[366_day-T-min-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[366_day-S-S-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[366_day-S-S-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[366_day-L-ms-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[366_day-L-ms-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[gregorian-D-D-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[gregorian-D-D-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[gregorian-H-H-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[gregorian-H-H-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[gregorian-T-min-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[gregorian-T-min-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[gregorian-S-S-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[gregorian-S-S-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[gregorian-L-ms-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[gregorian-L-ms-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[proleptic_gregorian-D-D-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[proleptic_gregorian-D-D-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[proleptic_gregorian-H-H-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[proleptic_gregorian-H-H-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[proleptic_gregorian-T-min-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[proleptic_gregorian-T-min-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[proleptic_gregorian-S-S-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[proleptic_gregorian-S-S-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[proleptic_gregorian-L-ms-2.0] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float[proleptic_gregorian-L-ms-1.5] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float_us PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float_fails_for_non_tick_freqs[AS] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float_fails_for_non_tick_freqs[A] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float_fails_for_non_tick_freqs[YS] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float_fails_for_non_tick_freqs[Y] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float_fails_for_non_tick_freqs[QS] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float_fails_for_non_tick_freqs[Q] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float_fails_for_non_tick_freqs[MS] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_float_fails_for_non_tick_freqs[M] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_radd[365_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_radd[360_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_radd[julian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_radd[all_leap] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_radd[366_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_radd[gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_radd[proleptic_gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_timedeltaindex_add_cftimeindex[365_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_timedeltaindex_add_cftimeindex[360_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_timedeltaindex_add_cftimeindex[julian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_timedeltaindex_add_cftimeindex[all_leap] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_timedeltaindex_add_cftimeindex[366_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_timedeltaindex_add_cftimeindex[gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_timedeltaindex_add_cftimeindex[proleptic_gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta[365_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta[360_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta[julian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta[all_leap] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta[366_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta[gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta[proleptic_gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta_array[365_day-1d-array] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta_array[365_day-scalar-array] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta_array[360_day-1d-array] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta_array[360_day-scalar-array] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta_array[julian-1d-array] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta_array[julian-scalar-array] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta_array[all_leap-1d-array] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta_array[all_leap-scalar-array] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta_array[366_day-1d-array] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta_array[366_day-scalar-array] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta_array[gregorian-1d-array] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta_array[gregorian-scalar-array] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta_array[proleptic_gregorian-1d-array] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedelta_array[proleptic_gregorian-scalar-array] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_cftimeindex[365_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_cftimeindex[360_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_cftimeindex[julian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_cftimeindex[all_leap] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_cftimeindex[366_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_cftimeindex[gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_cftimeindex[proleptic_gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_cftime_datetime[365_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_cftime_datetime[360_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_cftime_datetime[julian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_cftime_datetime[all_leap] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_cftime_datetime[366_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_cftime_datetime[gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_cftime_datetime[proleptic_gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftime_datetime_sub_cftimeindex[365_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftime_datetime_sub_cftimeindex[360_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftime_datetime_sub_cftimeindex[julian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftime_datetime_sub_cftimeindex[all_leap] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftime_datetime_sub_cftimeindex[366_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftime_datetime_sub_cftimeindex[gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftime_datetime_sub_cftimeindex[proleptic_gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_distant_cftime_datetime_sub_cftimeindex[365_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_distant_cftime_datetime_sub_cftimeindex[360_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_distant_cftime_datetime_sub_cftimeindex[julian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_distant_cftime_datetime_sub_cftimeindex[all_leap] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_distant_cftime_datetime_sub_cftimeindex[366_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_distant_cftime_datetime_sub_cftimeindex[gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_distant_cftime_datetime_sub_cftimeindex[proleptic_gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedeltaindex[365_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedeltaindex[360_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedeltaindex[julian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedeltaindex[all_leap] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedeltaindex[366_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedeltaindex[gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_timedeltaindex[proleptic_gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_index_of_cftime_datetimes[365_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_index_of_cftime_datetimes[360_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_index_of_cftime_datetimes[julian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_index_of_cftime_datetimes[all_leap] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_index_of_cftime_datetimes[366_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_index_of_cftime_datetimes[gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_index_of_cftime_datetimes[proleptic_gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_not_implemented[365_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_not_implemented[360_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_not_implemented[julian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_not_implemented[all_leap] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_not_implemented[366_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_not_implemented[gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_sub_not_implemented[proleptic_gregorian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_rsub[365_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_rsub[360_day] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_rsub[julian] PASSED [ 31%] xarray/tests/test_cftimeindex.py::test_cftimeindex_rsub[all_leap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_rsub[366_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_rsub[gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_rsub[proleptic_gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift[365_day-D] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift[365_day-freq1] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift[360_day-D] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift[360_day-freq1] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift[julian-D] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift[julian-freq1] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift[all_leap-D] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift[all_leap-freq1] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift[366_day-D] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift[366_day-freq1] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift[gregorian-D] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift[gregorian-freq1] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift[proleptic_gregorian-D] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift[proleptic_gregorian-freq1] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_invalid_n PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_shift_invalid_freq PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_calendar_property[noleap-noleap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_calendar_property[365_day-noleap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_calendar_property[360_day-360_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_calendar_property[julian-julian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_calendar_property[gregorian-standard] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_calendar_property[standard-standard] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_calendar_property[proleptic_gregorian-proleptic_gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_calendar_repr[noleap-noleap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_calendar_repr[365_day-noleap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_calendar_repr[360_day-360_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_calendar_repr[julian-julian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_calendar_repr[gregorian-standard] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_calendar_repr[standard-standard] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_calendar_repr[proleptic_gregorian-proleptic_gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_periods_repr[2] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_periods_repr[40] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_freq_in_repr[D-noleap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_freq_in_repr[D-360_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_freq_in_repr[D-standard] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_freq_in_repr[H-noleap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_freq_in_repr[H-360_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_freq_in_repr[H-standard] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting[2-CFTimeIndex([2000-01-01 00:00:00, 2000-01-02 00:00:00],\n dtype='object', length=2, calendar='standard', freq=None)] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting[4-CFTimeIndex([2000-01-01 00:00:00, 2000-01-02 00:00:00, 2000-01-03 00:00:00,\n 2000-01-04 00:00:00],\n dtype='object', length=4, calendar='standard', freq='D')] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting[101-CFTimeIndex([2000-01-01 00:00:00, 2000-01-02 00:00:00, 2000-01-03 00:00:00,\n 2000-01-04 00:00:00, 2000-01-05 00:00:00, 2000-01-06 00:00:00,\n 2000-01-07 00:00:00, 2000-01-08 00:00:00, 2000-01-09 00:00:00,\n 2000-01-10 00:00:00,\n ...\n 2000-04-01 00:00:00, 2000-04-02 00:00:00, 2000-04-03 00:00:00,\n 2000-04-04 00:00:00, 2000-04-05 00:00:00, 2000-04-06 00:00:00,\n 2000-04-07 00:00:00, 2000-04-08 00:00:00, 2000-04-09 00:00:00,\n 2000-04-10 00:00:00],\n dtype='object', length=101, calendar='standard', freq='D')] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[2-40] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[2-80] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[2-100] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[3-40] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[3-80] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[3-100] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[4-40] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[4-80] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[4-100] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[100-40] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[100-80] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[100-100] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[101-40] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[101-80] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_formatting_width[101-100] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_101_shorter[22] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_101_shorter[50] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_cftimeindex_repr_101_shorter[100] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_parse_array_of_cftime_strings PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_strftime_of_cftime_array[360_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_strftime_of_cftime_array[365_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_strftime_of_cftime_array[366_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_strftime_of_cftime_array[all_leap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_strftime_of_cftime_array[gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_strftime_of_cftime_array[julian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_strftime_of_cftime_array[noleap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_strftime_of_cftime_array[proleptic_gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_strftime_of_cftime_array[standard] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[False-360_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[False-365_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[False-366_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[False-all_leap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[False-gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[False-julian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[False-noleap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[False-proleptic_gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[False-standard] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[True-360_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[True-365_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[True-366_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[True-all_leap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[True-gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[True-julian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[True-noleap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[True-proleptic_gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex[True-standard] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex_out_of_range[360_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex_out_of_range[365_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex_out_of_range[366_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex_out_of_range[all_leap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex_out_of_range[gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex_out_of_range[julian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex_out_of_range[noleap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex_out_of_range[proleptic_gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex_out_of_range[standard] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex_feb_29[all_leap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_to_datetimeindex_feb_29[360_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_multiindex XPASS (https://github.com/pandas-dev/pandas/issues/24263) [ 32%] xarray/tests/test_cftimeindex.py::test_rounding_methods_against_datetimeindex[floor-3663S] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_rounding_methods_against_datetimeindex[floor-33T] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_rounding_methods_against_datetimeindex[floor-2H] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_rounding_methods_against_datetimeindex[ceil-3663S] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_rounding_methods_against_datetimeindex[ceil-33T] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_rounding_methods_against_datetimeindex[ceil-2H] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_rounding_methods_against_datetimeindex[round-3663S] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_rounding_methods_against_datetimeindex[round-33T] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_rounding_methods_against_datetimeindex[round-2H] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_rounding_methods_invalid_freq[floor] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_rounding_methods_invalid_freq[ceil] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_rounding_methods_invalid_freq[round] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_ceil[365_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_ceil[360_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_ceil[julian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_ceil[all_leap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_ceil[366_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_ceil[gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_ceil[proleptic_gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_floor[365_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_floor[360_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_floor[julian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_floor[all_leap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_floor[366_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_floor[gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_floor[proleptic_gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_round[365_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_round[360_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_round[julian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_round[all_leap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_round[366_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_round[gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_round[proleptic_gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_asi8[365_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_asi8[360_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_asi8[julian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_asi8[all_leap] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_asi8[366_day] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_asi8[gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_asi8[proleptic_gregorian] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_asi8_distant_date PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq_valid_types PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq_invalid_inputs PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[365_day-300AS-JAN] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[365_day-A-DEC] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[365_day-AS-JUL] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[365_day-2AS-FEB] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[365_day-Q-NOV] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[365_day-3QS-DEC] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[365_day-MS] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[365_day-4M] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[365_day-7D] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[365_day-D] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[365_day-30H] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[365_day-5T] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[365_day-40S] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[360_day-300AS-JAN] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[360_day-A-DEC] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[360_day-AS-JUL] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[360_day-2AS-FEB] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[360_day-Q-NOV] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[360_day-3QS-DEC] PASSED [ 32%] xarray/tests/test_cftimeindex.py::test_infer_freq[360_day-MS] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[360_day-4M] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[360_day-7D] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[360_day-D] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[360_day-30H] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[360_day-5T] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[360_day-40S] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[julian-300AS-JAN] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[julian-A-DEC] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[julian-AS-JUL] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[julian-2AS-FEB] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[julian-Q-NOV] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[julian-3QS-DEC] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[julian-MS] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[julian-4M] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[julian-7D] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[julian-D] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[julian-30H] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[julian-5T] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[julian-40S] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[all_leap-300AS-JAN] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[all_leap-A-DEC] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[all_leap-AS-JUL] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[all_leap-2AS-FEB] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[all_leap-Q-NOV] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[all_leap-3QS-DEC] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[all_leap-MS] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[all_leap-4M] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[all_leap-7D] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[all_leap-D] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[all_leap-30H] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[all_leap-5T] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[all_leap-40S] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[366_day-300AS-JAN] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[366_day-A-DEC] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[366_day-AS-JUL] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[366_day-2AS-FEB] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[366_day-Q-NOV] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[366_day-3QS-DEC] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[366_day-MS] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[366_day-4M] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[366_day-7D] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[366_day-D] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[366_day-30H] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[366_day-5T] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[366_day-40S] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[gregorian-300AS-JAN] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[gregorian-A-DEC] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[gregorian-AS-JUL] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[gregorian-2AS-FEB] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[gregorian-Q-NOV] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[gregorian-3QS-DEC] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[gregorian-MS] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[gregorian-4M] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[gregorian-7D] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[gregorian-D] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[gregorian-30H] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[gregorian-5T] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[gregorian-40S] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[proleptic_gregorian-300AS-JAN] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[proleptic_gregorian-A-DEC] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[proleptic_gregorian-AS-JUL] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[proleptic_gregorian-2AS-FEB] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[proleptic_gregorian-Q-NOV] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[proleptic_gregorian-3QS-DEC] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[proleptic_gregorian-MS] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[proleptic_gregorian-4M] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[proleptic_gregorian-7D] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[proleptic_gregorian-D] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[proleptic_gregorian-30H] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[proleptic_gregorian-5T] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_infer_freq[proleptic_gregorian-40S] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_pickle_cftimeindex[365_day] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_pickle_cftimeindex[360_day] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_pickle_cftimeindex[julian] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_pickle_cftimeindex[all_leap] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_pickle_cftimeindex[366_day] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_pickle_cftimeindex[gregorian] PASSED [ 33%] xarray/tests/test_cftimeindex.py::test_pickle_cftimeindex[proleptic_gregorian] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-8003D->4001D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-8003D->16006D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-8003D->21AS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-6H->3H] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-6H->12H] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-6H->400T] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-3D->D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-3D->6D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-11D->MS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-3MS->MS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-3MS->6MS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-3MS->85D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-7M->3M] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-7M->14M] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-7M->2QS-APR] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-43QS-AUG->21QS-AUG] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-43QS-AUG->86QS-AUG] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-43QS-AUG->11A-JUN] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-11Q-JUN->5Q-JUN] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-11Q-JUN->22Q-JUN] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-11Q-JUN->51MS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-3AS-MAR->AS-MAR] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-3AS-MAR->6AS-MAR] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-3AS-MAR->14Q-FEB] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-7A-MAY->3A-MAY] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-7A-MAY->14A-MAY] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-None-7A-MAY->85M] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-8003D->4001D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-8003D->16006D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-8003D->21AS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-6H->3H] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-6H->12H] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-6H->400T] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-3D->D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-3D->6D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-11D->MS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-3MS->MS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-3MS->6MS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-3MS->85D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-7M->3M] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-7M->14M] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-7M->2QS-APR] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-43QS-AUG->21QS-AUG] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-43QS-AUG->86QS-AUG] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-43QS-AUG->11A-JUN] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-11Q-JUN->5Q-JUN] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-11Q-JUN->22Q-JUN] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-11Q-JUN->51MS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-3AS-MAR->AS-MAR] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-3AS-MAR->6AS-MAR] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-3AS-MAR->14Q-FEB] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-7A-MAY->3A-MAY] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-7A-MAY->14A-MAY] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-left-7A-MAY->85M] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-8003D->4001D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-8003D->16006D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-8003D->21AS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-6H->3H] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-6H->12H] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-6H->400T] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-3D->D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-3D->6D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-11D->MS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-3MS->MS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-3MS->6MS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-3MS->85D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-7M->3M] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-7M->14M] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-7M->2QS-APR] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-43QS-AUG->21QS-AUG] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-43QS-AUG->86QS-AUG] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-43QS-AUG->11A-JUN] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-11Q-JUN->5Q-JUN] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-11Q-JUN->22Q-JUN] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-11Q-JUN->51MS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-3AS-MAR->AS-MAR] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-3AS-MAR->6AS-MAR] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-3AS-MAR->14Q-FEB] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-7A-MAY->3A-MAY] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-7A-MAY->14A-MAY] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-None-right-7A-MAY->85M] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-8003D->4001D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-8003D->16006D] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-8003D->21AS] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-6H->3H] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-6H->12H] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-6H->400T] PASSED [ 33%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-3D->D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-3D->6D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-11D->MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-3MS->MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-3MS->6MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-3MS->85D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-7M->3M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-7M->14M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-7M->2QS-APR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-43QS-AUG->21QS-AUG] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-43QS-AUG->86QS-AUG] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-43QS-AUG->11A-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-11Q-JUN->5Q-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-11Q-JUN->22Q-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-11Q-JUN->51MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-3AS-MAR->AS-MAR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-3AS-MAR->6AS-MAR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-3AS-MAR->14Q-FEB] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-7A-MAY->3A-MAY] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-7A-MAY->14A-MAY] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-None-7A-MAY->85M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-8003D->4001D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-8003D->16006D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-8003D->21AS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-6H->3H] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-6H->12H] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-6H->400T] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-3D->D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-3D->6D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-11D->MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-3MS->MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-3MS->6MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-3MS->85D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-7M->3M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-7M->14M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-7M->2QS-APR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-43QS-AUG->21QS-AUG] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-43QS-AUG->86QS-AUG] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-43QS-AUG->11A-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-11Q-JUN->5Q-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-11Q-JUN->22Q-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-11Q-JUN->51MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-3AS-MAR->AS-MAR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-3AS-MAR->6AS-MAR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-3AS-MAR->14Q-FEB] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-7A-MAY->3A-MAY] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-7A-MAY->14A-MAY] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-left-7A-MAY->85M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-8003D->4001D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-8003D->16006D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-8003D->21AS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-6H->3H] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-6H->12H] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-6H->400T] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-3D->D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-3D->6D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-11D->MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-3MS->MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-3MS->6MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-3MS->85D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-7M->3M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-7M->14M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-7M->2QS-APR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-43QS-AUG->21QS-AUG] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-43QS-AUG->86QS-AUG] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-43QS-AUG->11A-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-11Q-JUN->5Q-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-11Q-JUN->22Q-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-11Q-JUN->51MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-3AS-MAR->AS-MAR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-3AS-MAR->6AS-MAR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-3AS-MAR->14Q-FEB] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-7A-MAY->3A-MAY] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-7A-MAY->14A-MAY] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-left-right-7A-MAY->85M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-8003D->4001D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-8003D->16006D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-8003D->21AS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-6H->3H] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-6H->12H] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-6H->400T] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-3D->D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-3D->6D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-11D->MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-3MS->MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-3MS->6MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-3MS->85D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-7M->3M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-7M->14M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-7M->2QS-APR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-43QS-AUG->21QS-AUG] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-43QS-AUG->86QS-AUG] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-43QS-AUG->11A-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-11Q-JUN->5Q-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-11Q-JUN->22Q-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-11Q-JUN->51MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-3AS-MAR->AS-MAR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-3AS-MAR->6AS-MAR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-3AS-MAR->14Q-FEB] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-7A-MAY->3A-MAY] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-7A-MAY->14A-MAY] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-None-7A-MAY->85M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-8003D->4001D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-8003D->16006D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-8003D->21AS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-6H->3H] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-6H->12H] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-6H->400T] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-3D->D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-3D->6D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-11D->MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-3MS->MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-3MS->6MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-3MS->85D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-7M->3M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-7M->14M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-7M->2QS-APR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-43QS-AUG->21QS-AUG] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-43QS-AUG->86QS-AUG] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-43QS-AUG->11A-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-11Q-JUN->5Q-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-11Q-JUN->22Q-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-11Q-JUN->51MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-3AS-MAR->AS-MAR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-3AS-MAR->6AS-MAR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-3AS-MAR->14Q-FEB] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-7A-MAY->3A-MAY] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-7A-MAY->14A-MAY] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-left-7A-MAY->85M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-8003D->4001D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-8003D->16006D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-8003D->21AS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-6H->3H] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-6H->12H] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-6H->400T] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-3D->D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-3D->6D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-11D->MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-3MS->MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-3MS->6MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-3MS->85D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-7M->3M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-7M->14M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-7M->2QS-APR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-43QS-AUG->21QS-AUG] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-43QS-AUG->86QS-AUG] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-43QS-AUG->11A-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-11Q-JUN->5Q-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-11Q-JUN->22Q-JUN] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-11Q-JUN->51MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-3AS-MAR->AS-MAR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-3AS-MAR->6AS-MAR] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-3AS-MAR->14Q-FEB] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-7A-MAY->3A-MAY] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-7A-MAY->14A-MAY] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[24-None-right-right-7A-MAY->85M] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-8003D->4001D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-8003D->16006D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-8003D->21AS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-6H->3H] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-6H->12H] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-6H->400T] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-3D->D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-3D->6D] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-11D->MS] PASSED [ 34%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-3MS->MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-3MS->6MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-3MS->85D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-7M->3M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-7M->14M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-7M->2QS-APR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-43QS-AUG->21QS-AUG] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-43QS-AUG->86QS-AUG] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-43QS-AUG->11A-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-11Q-JUN->5Q-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-11Q-JUN->22Q-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-11Q-JUN->51MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-3AS-MAR->AS-MAR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-3AS-MAR->6AS-MAR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-3AS-MAR->14Q-FEB] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-7A-MAY->3A-MAY] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-7A-MAY->14A-MAY] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-None-7A-MAY->85M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-8003D->4001D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-8003D->16006D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-8003D->21AS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-6H->3H] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-6H->12H] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-6H->400T] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-3D->D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-3D->6D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-11D->MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-3MS->MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-3MS->6MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-3MS->85D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-7M->3M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-7M->14M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-7M->2QS-APR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-43QS-AUG->21QS-AUG] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-43QS-AUG->86QS-AUG] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-43QS-AUG->11A-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-11Q-JUN->5Q-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-11Q-JUN->22Q-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-11Q-JUN->51MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-3AS-MAR->AS-MAR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-3AS-MAR->6AS-MAR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-3AS-MAR->14Q-FEB] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-7A-MAY->3A-MAY] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-7A-MAY->14A-MAY] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-left-7A-MAY->85M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-8003D->4001D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-8003D->16006D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-8003D->21AS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-6H->3H] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-6H->12H] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-6H->400T] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-3D->D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-3D->6D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-11D->MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-3MS->MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-3MS->6MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-3MS->85D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-7M->3M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-7M->14M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-7M->2QS-APR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-43QS-AUG->21QS-AUG] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-43QS-AUG->86QS-AUG] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-43QS-AUG->11A-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-11Q-JUN->5Q-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-11Q-JUN->22Q-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-11Q-JUN->51MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-3AS-MAR->AS-MAR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-3AS-MAR->6AS-MAR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-3AS-MAR->14Q-FEB] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-7A-MAY->3A-MAY] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-7A-MAY->14A-MAY] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-None-right-7A-MAY->85M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-8003D->4001D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-8003D->16006D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-8003D->21AS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-6H->3H] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-6H->12H] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-6H->400T] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-3D->D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-3D->6D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-11D->MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-3MS->MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-3MS->6MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-3MS->85D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-7M->3M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-7M->14M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-7M->2QS-APR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-43QS-AUG->21QS-AUG] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-43QS-AUG->86QS-AUG] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-43QS-AUG->11A-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-11Q-JUN->5Q-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-11Q-JUN->22Q-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-11Q-JUN->51MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-3AS-MAR->AS-MAR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-3AS-MAR->6AS-MAR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-3AS-MAR->14Q-FEB] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-7A-MAY->3A-MAY] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-7A-MAY->14A-MAY] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-None-7A-MAY->85M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-8003D->4001D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-8003D->16006D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-8003D->21AS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-6H->3H] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-6H->12H] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-6H->400T] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-3D->D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-3D->6D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-11D->MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-3MS->MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-3MS->6MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-3MS->85D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-7M->3M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-7M->14M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-7M->2QS-APR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-43QS-AUG->21QS-AUG] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-43QS-AUG->86QS-AUG] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-43QS-AUG->11A-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-11Q-JUN->5Q-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-11Q-JUN->22Q-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-11Q-JUN->51MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-3AS-MAR->AS-MAR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-3AS-MAR->6AS-MAR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-3AS-MAR->14Q-FEB] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-7A-MAY->3A-MAY] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-7A-MAY->14A-MAY] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-left-7A-MAY->85M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-8003D->4001D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-8003D->16006D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-8003D->21AS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-6H->3H] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-6H->12H] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-6H->400T] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-3D->D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-3D->6D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-11D->MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-3MS->MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-3MS->6MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-3MS->85D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-7M->3M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-7M->14M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-7M->2QS-APR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-43QS-AUG->21QS-AUG] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-43QS-AUG->86QS-AUG] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-43QS-AUG->11A-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-11Q-JUN->5Q-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-11Q-JUN->22Q-JUN] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-11Q-JUN->51MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-3AS-MAR->AS-MAR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-3AS-MAR->6AS-MAR] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-3AS-MAR->14Q-FEB] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-7A-MAY->3A-MAY] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-7A-MAY->14A-MAY] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-left-right-7A-MAY->85M] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-8003D->4001D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-8003D->16006D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-8003D->21AS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-6H->3H] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-6H->12H] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-6H->400T] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-3D->D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-3D->6D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-11D->MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-3MS->MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-3MS->6MS] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-3MS->85D] PASSED [ 35%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-7M->3M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-7M->14M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-7M->2QS-APR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-43QS-AUG->21QS-AUG] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-43QS-AUG->86QS-AUG] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-43QS-AUG->11A-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-11Q-JUN->5Q-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-11Q-JUN->22Q-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-11Q-JUN->51MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-3AS-MAR->AS-MAR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-3AS-MAR->6AS-MAR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-3AS-MAR->14Q-FEB] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-7A-MAY->3A-MAY] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-7A-MAY->14A-MAY] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-None-7A-MAY->85M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-8003D->4001D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-8003D->16006D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-8003D->21AS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-6H->3H] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-6H->12H] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-6H->400T] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-3D->D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-3D->6D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-11D->MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-3MS->MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-3MS->6MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-3MS->85D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-7M->3M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-7M->14M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-7M->2QS-APR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-43QS-AUG->21QS-AUG] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-43QS-AUG->86QS-AUG] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-43QS-AUG->11A-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-11Q-JUN->5Q-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-11Q-JUN->22Q-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-11Q-JUN->51MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-3AS-MAR->AS-MAR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-3AS-MAR->6AS-MAR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-3AS-MAR->14Q-FEB] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-7A-MAY->3A-MAY] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-7A-MAY->14A-MAY] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-left-7A-MAY->85M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-8003D->4001D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-8003D->16006D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-8003D->21AS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-6H->3H] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-6H->12H] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-6H->400T] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-3D->D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-3D->6D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-11D->MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-3MS->MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-3MS->6MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-3MS->85D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-7M->3M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-7M->14M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-7M->2QS-APR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-43QS-AUG->21QS-AUG] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-43QS-AUG->86QS-AUG] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-43QS-AUG->11A-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-11Q-JUN->5Q-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-11Q-JUN->22Q-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-11Q-JUN->51MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-3AS-MAR->AS-MAR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-3AS-MAR->6AS-MAR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-3AS-MAR->14Q-FEB] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-7A-MAY->3A-MAY] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-7A-MAY->14A-MAY] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[31-None-right-right-7A-MAY->85M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-8003D->4001D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-8003D->16006D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-8003D->21AS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-6H->3H] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-6H->12H] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-6H->400T] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-3D->D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-3D->6D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-11D->MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-3MS->MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-3MS->6MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-3MS->85D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-7M->3M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-7M->14M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-7M->2QS-APR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-43QS-AUG->21QS-AUG] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-43QS-AUG->86QS-AUG] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-43QS-AUG->11A-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-11Q-JUN->5Q-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-11Q-JUN->22Q-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-11Q-JUN->51MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-3AS-MAR->AS-MAR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-3AS-MAR->6AS-MAR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-3AS-MAR->14Q-FEB] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-7A-MAY->3A-MAY] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-7A-MAY->14A-MAY] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-None-7A-MAY->85M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-8003D->4001D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-8003D->16006D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-8003D->21AS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-6H->3H] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-6H->12H] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-6H->400T] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-3D->D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-3D->6D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-11D->MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-3MS->MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-3MS->6MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-3MS->85D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-7M->3M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-7M->14M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-7M->2QS-APR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-43QS-AUG->21QS-AUG] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-43QS-AUG->86QS-AUG] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-43QS-AUG->11A-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-11Q-JUN->5Q-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-11Q-JUN->22Q-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-11Q-JUN->51MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-3AS-MAR->AS-MAR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-3AS-MAR->6AS-MAR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-3AS-MAR->14Q-FEB] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-7A-MAY->3A-MAY] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-7A-MAY->14A-MAY] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-left-7A-MAY->85M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-8003D->4001D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-8003D->16006D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-8003D->21AS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-6H->3H] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-6H->12H] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-6H->400T] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-3D->D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-3D->6D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-11D->MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-3MS->MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-3MS->6MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-3MS->85D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-7M->3M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-7M->14M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-7M->2QS-APR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-43QS-AUG->21QS-AUG] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-43QS-AUG->86QS-AUG] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-43QS-AUG->11A-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-11Q-JUN->5Q-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-11Q-JUN->22Q-JUN] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-11Q-JUN->51MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-3AS-MAR->AS-MAR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-3AS-MAR->6AS-MAR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-3AS-MAR->14Q-FEB] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-7A-MAY->3A-MAY] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-7A-MAY->14A-MAY] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-None-right-7A-MAY->85M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-8003D->4001D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-8003D->16006D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-8003D->21AS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-6H->3H] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-6H->12H] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-6H->400T] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-3D->D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-3D->6D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-11D->MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-3MS->MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-3MS->6MS] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-3MS->85D] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-7M->3M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-7M->14M] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-7M->2QS-APR] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-43QS-AUG->21QS-AUG] PASSED [ 36%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-43QS-AUG->86QS-AUG] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-43QS-AUG->11A-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-11Q-JUN->5Q-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-11Q-JUN->22Q-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-11Q-JUN->51MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-3AS-MAR->AS-MAR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-3AS-MAR->6AS-MAR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-3AS-MAR->14Q-FEB] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-7A-MAY->3A-MAY] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-7A-MAY->14A-MAY] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-None-7A-MAY->85M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-8003D->4001D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-8003D->16006D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-8003D->21AS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-6H->3H] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-6H->12H] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-6H->400T] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-3D->D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-3D->6D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-11D->MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-3MS->MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-3MS->6MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-3MS->85D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-7M->3M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-7M->14M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-7M->2QS-APR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-43QS-AUG->21QS-AUG] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-43QS-AUG->86QS-AUG] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-43QS-AUG->11A-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-11Q-JUN->5Q-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-11Q-JUN->22Q-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-11Q-JUN->51MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-3AS-MAR->AS-MAR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-3AS-MAR->6AS-MAR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-3AS-MAR->14Q-FEB] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-7A-MAY->3A-MAY] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-7A-MAY->14A-MAY] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-left-7A-MAY->85M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-8003D->4001D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-8003D->16006D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-8003D->21AS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-6H->3H] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-6H->12H] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-6H->400T] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-3D->D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-3D->6D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-11D->MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-3MS->MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-3MS->6MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-3MS->85D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-7M->3M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-7M->14M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-7M->2QS-APR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-43QS-AUG->21QS-AUG] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-43QS-AUG->86QS-AUG] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-43QS-AUG->11A-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-11Q-JUN->5Q-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-11Q-JUN->22Q-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-11Q-JUN->51MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-3AS-MAR->AS-MAR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-3AS-MAR->6AS-MAR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-3AS-MAR->14Q-FEB] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-7A-MAY->3A-MAY] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-7A-MAY->14A-MAY] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-left-right-7A-MAY->85M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-8003D->4001D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-8003D->16006D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-8003D->21AS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-6H->3H] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-6H->12H] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-6H->400T] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-3D->D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-3D->6D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-11D->MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-3MS->MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-3MS->6MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-3MS->85D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-7M->3M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-7M->14M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-7M->2QS-APR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-43QS-AUG->21QS-AUG] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-43QS-AUG->86QS-AUG] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-43QS-AUG->11A-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-11Q-JUN->5Q-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-11Q-JUN->22Q-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-11Q-JUN->51MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-3AS-MAR->AS-MAR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-3AS-MAR->6AS-MAR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-3AS-MAR->14Q-FEB] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-7A-MAY->3A-MAY] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-7A-MAY->14A-MAY] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-None-7A-MAY->85M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-8003D->4001D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-8003D->16006D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-8003D->21AS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-6H->3H] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-6H->12H] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-6H->400T] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-3D->D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-3D->6D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-11D->MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-3MS->MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-3MS->6MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-3MS->85D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-7M->3M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-7M->14M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-7M->2QS-APR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-43QS-AUG->21QS-AUG] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-43QS-AUG->86QS-AUG] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-43QS-AUG->11A-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-11Q-JUN->5Q-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-11Q-JUN->22Q-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-11Q-JUN->51MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-3AS-MAR->AS-MAR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-3AS-MAR->6AS-MAR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-3AS-MAR->14Q-FEB] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-7A-MAY->3A-MAY] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-7A-MAY->14A-MAY] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-left-7A-MAY->85M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-8003D->4001D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-8003D->16006D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-8003D->21AS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-6H->3H] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-6H->12H] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-6H->400T] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-3D->D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-3D->6D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-11D->MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-3MS->MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-3MS->6MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-3MS->85D] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-7M->3M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-7M->14M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-7M->2QS-APR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-43QS-AUG->21QS-AUG] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-43QS-AUG->86QS-AUG] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-43QS-AUG->11A-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-11Q-JUN->5Q-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-11Q-JUN->22Q-JUN] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-11Q-JUN->51MS] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-3AS-MAR->AS-MAR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-3AS-MAR->6AS-MAR] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-3AS-MAR->14Q-FEB] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-7A-MAY->3A-MAY] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-7A-MAY->14A-MAY] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_resample[None-5S-right-right-7A-MAY->85M] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_closed_label_defaults[S-left] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_closed_label_defaults[T-left] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_closed_label_defaults[H-left] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_closed_label_defaults[D-left] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_closed_label_defaults[M-right] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_closed_label_defaults[MS-left] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_closed_label_defaults[Q-right] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_closed_label_defaults[QS-left] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_closed_label_defaults[A-right] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_closed_label_defaults[AS-left] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_calendars[gregorian] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_calendars[noleap] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_calendars[all_leap] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_calendars[360_day] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_calendars[julian] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_origin[start_day-left] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_origin[start_day-right] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_origin[start-left] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_origin[start-right] PASSED [ 37%] xarray/tests/test_cftimeindex_resample.py::test_origin[end-left] PASSED [ 38%] xarray/tests/test_cftimeindex_resample.py::test_origin[end-right] PASSED [ 38%] xarray/tests/test_cftimeindex_resample.py::test_origin[end_day-left] PASSED [ 38%] xarray/tests/test_cftimeindex_resample.py::test_origin[end_day-right] PASSED [ 38%] xarray/tests/test_cftimeindex_resample.py::test_origin[epoch-left] PASSED [ 38%] xarray/tests/test_cftimeindex_resample.py::test_origin[epoch-right] PASSED [ 38%] xarray/tests/test_cftimeindex_resample.py::test_origin[(1970, 1, 1, 3, 2)-left] PASSED [ 38%] xarray/tests/test_cftimeindex_resample.py::test_origin[(1970, 1, 1, 3, 2)-right] PASSED [ 38%] xarray/tests/test_cftimeindex_resample.py::test_base_and_offset_error PASSED [ 38%] xarray/tests/test_cftimeindex_resample.py::test_invalid_offset_error[foo] PASSED [ 38%] xarray/tests/test_cftimeindex_resample.py::test_invalid_offset_error[5MS] PASSED [ 38%] xarray/tests/test_cftimeindex_resample.py::test_invalid_offset_error[10] PASSED [ 38%] xarray/tests/test_cftimeindex_resample.py::test_timedelta_offset PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_absent_dims_error[1-numpy] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_absent_dims_error[1-dask] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_dataset[1-numpy-trim-left-True] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_dataset[1-numpy-trim-left-False] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_dataset[1-numpy-pad-right-True] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_dataset[1-numpy-pad-right-False] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_dataset[1-dask-trim-left-True] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_dataset[1-dask-trim-left-False] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_dataset[1-dask-pad-right-True] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_dataset[1-dask-pad-right-False] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_coords[1-numpy-True] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_coords[1-numpy-False] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_coords[1-dask-True] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_coords[1-dask-False] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_coords_cftime PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_keep_attrs[reduce-argument0] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_keep_attrs[mean-argument1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-sum-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-sum-1-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-sum-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-sum-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-sum-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-sum-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-sum-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-sum-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-mean-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-mean-1-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-mean-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-mean-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-mean-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-mean-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-mean-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-mean-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-std-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-std-1-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-std-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-std-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-std-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-std-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-std-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-std-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-var-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-var-1-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-var-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-var-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-var-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-var-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-var-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-var-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-min-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-min-1-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-min-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-min-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-min-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-min-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-min-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-min-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-max-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-max-1-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-max-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-max-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-max-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-max-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-max-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-max-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-median-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-median-1-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-median-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-median-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-median-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-median-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-median-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[numpy-median-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-sum-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-sum-1-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-sum-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-sum-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-sum-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-sum-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-sum-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-sum-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-mean-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-mean-1-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-mean-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-mean-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-mean-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-mean-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-mean-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-mean-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-std-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-std-1-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-std-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-std-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-std-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-std-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-std-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-std-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-var-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-var-1-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-var-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-var-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-var-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-var-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-var-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-var-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-min-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-min-1-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-min-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-min-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-min-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-min-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-min-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-min-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-max-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-max-1-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-max-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-max-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-max-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-max-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-max-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-max-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-median-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-median-1-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-median-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-median-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-median-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-median-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-median-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_reduce[dask-median-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_keep_attrs[reduce-argument0] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_keep_attrs[mean-argument1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-sum-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-sum-1-2] SKIPPED (These parameters lead to all-NaN slices) [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-sum-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-sum-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-sum-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-sum-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-sum-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-sum-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-mean-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-mean-1-2] SKIPPED (These parameters lead to all-NaN slices) [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-mean-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-mean-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-mean-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-mean-3-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-mean-4-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-mean-4-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-std-1-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-std-1-2] SKIPPED (These parameters lead to all-NaN slices) [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-std-2-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-std-2-2] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-std-3-1] PASSED [ 38%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-std-3-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-std-4-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-std-4-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-max-1-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-max-1-2] SKIPPED (These parameters lead to all-NaN slices) [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-max-2-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-max-2-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-max-3-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-max-3-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-max-4-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[numpy-max-4-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-sum-1-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-sum-1-2] SKIPPED (These parameters lead to all-NaN slices) [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-sum-2-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-sum-2-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-sum-3-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-sum-3-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-sum-4-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-sum-4-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-mean-1-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-mean-1-2] SKIPPED (These parameters lead to all-NaN slices) [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-mean-2-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-mean-2-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-mean-3-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-mean-3-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-mean-4-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-mean-4-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-std-1-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-std-1-2] SKIPPED (These parameters lead to all-NaN slices) [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-std-2-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-std-2-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-std-3-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-std-3-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-std-4-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-std-4-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-max-1-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-max-1-2] SKIPPED (These parameters lead to all-NaN slices) [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-max-2-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-max-2-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-max-3-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-max-3-2] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-max-4-1] PASSED [ 39%] xarray/tests/test_coarsen.py::test_coarsen_da_reduce[dask-max-4-2] PASSED [ 39%] xarray/tests/test_coarsen.py::TestCoarsenConstruct::test_coarsen_construct[True] PASSED [ 39%] xarray/tests/test_coarsen.py::TestCoarsenConstruct::test_coarsen_construct[False] PASSED [ 39%] xarray/tests/test_coarsen.py::TestCoarsenConstruct::test_coarsen_construct_keeps_all_coords PASSED [ 39%] xarray/tests/test_coding.py::test_CFMaskCoder_decode PASSED [ 39%] xarray/tests/test_coding.py::test_CFMaskCoder_encode_missing_fill_values_conflict[numeric-with-dtype] PASSED [ 39%] xarray/tests/test_coding.py::test_CFMaskCoder_encode_missing_fill_values_conflict[numeric-without-dtype] PASSED [ 39%] xarray/tests/test_coding.py::test_CFMaskCoder_encode_missing_fill_values_conflict[times-with-dtype] PASSED [ 39%] xarray/tests/test_coding.py::test_CFMaskCoder_missing_value PASSED [ 39%] xarray/tests/test_coding.py::test_CFMaskCoder_decode_dask PASSED [ 39%] xarray/tests/test_coding.py::test_coder_roundtrip PASSED [ 39%] xarray/tests/test_coding.py::test_scaling_converts_to_float32[u1] PASSED [ 39%] xarray/tests/test_coding.py::test_scaling_converts_to_float32[u2] PASSED [ 39%] xarray/tests/test_coding.py::test_scaling_converts_to_float32[i1] PASSED [ 39%] xarray/tests/test_coding.py::test_scaling_converts_to_float32[i2] PASSED [ 39%] xarray/tests/test_coding.py::test_scaling_converts_to_float32[f2] PASSED [ 39%] xarray/tests/test_coding.py::test_scaling_converts_to_float32[f4] PASSED [ 39%] xarray/tests/test_coding.py::test_scaling_offset_as_list[0.1-10] PASSED [ 39%] xarray/tests/test_coding.py::test_scaling_offset_as_list[0.1-scale_factor1] PASSED [ 39%] xarray/tests/test_coding.py::test_scaling_offset_as_list[add_offset1-10] PASSED [ 39%] xarray/tests/test_coding.py::test_scaling_offset_as_list[add_offset1-scale_factor1] PASSED [ 39%] xarray/tests/test_coding.py::test_decode_unsigned_from_signed[1] PASSED [ 39%] xarray/tests/test_coding.py::test_decode_unsigned_from_signed[2] PASSED [ 39%] xarray/tests/test_coding.py::test_decode_unsigned_from_signed[4] PASSED [ 39%] xarray/tests/test_coding.py::test_decode_unsigned_from_signed[8] PASSED [ 39%] xarray/tests/test_coding.py::test_decode_signed_from_unsigned[1] PASSED [ 39%] xarray/tests/test_coding.py::test_decode_signed_from_unsigned[2] PASSED [ 39%] xarray/tests/test_coding.py::test_decode_signed_from_unsigned[4] PASSED [ 39%] xarray/tests/test_coding.py::test_decode_signed_from_unsigned[8] PASSED [ 39%] xarray/tests/test_coding_strings.py::test_vlen_dtype PASSED [ 39%] xarray/tests/test_coding_strings.py::test_numpy_subclass_handling[str_] PASSED [ 39%] xarray/tests/test_coding_strings.py::test_numpy_subclass_handling[bytes_] PASSED [ 39%] xarray/tests/test_coding_strings.py::test_EncodedStringCoder_decode PASSED [ 39%] xarray/tests/test_coding_strings.py::test_EncodedStringCoder_decode_dask PASSED [ 39%] xarray/tests/test_coding_strings.py::test_EncodedStringCoder_encode PASSED [ 39%] xarray/tests/test_coding_strings.py::test_CharacterArrayCoder_roundtrip[original0] PASSED [ 39%] xarray/tests/test_coding_strings.py::test_CharacterArrayCoder_roundtrip[original1] PASSED [ 39%] xarray/tests/test_coding_strings.py::test_CharacterArrayCoder_roundtrip[original2] PASSED [ 39%] xarray/tests/test_coding_strings.py::test_CharacterArrayCoder_roundtrip[original3] PASSED [ 39%] xarray/tests/test_coding_strings.py::test_CharacterArrayCoder_encode[data0] PASSED [ 39%] xarray/tests/test_coding_strings.py::test_CharacterArrayCoder_encode[data1] PASSED [ 39%] xarray/tests/test_coding_strings.py::test_CharacterArrayCoder_char_dim_name[original0-string4] PASSED [ 39%] xarray/tests/test_coding_strings.py::test_CharacterArrayCoder_char_dim_name[original1-foo] PASSED [ 39%] xarray/tests/test_coding_strings.py::test_StackedBytesArray PASSED [ 39%] xarray/tests/test_coding_strings.py::test_StackedBytesArray_scalar PASSED [ 39%] xarray/tests/test_coding_strings.py::test_StackedBytesArray_vectorized_indexing PASSED [ 39%] xarray/tests/test_coding_strings.py::test_char_to_bytes PASSED [ 39%] xarray/tests/test_coding_strings.py::test_char_to_bytes_ndim_zero PASSED [ 39%] xarray/tests/test_coding_strings.py::test_char_to_bytes_size_zero PASSED [ 39%] xarray/tests/test_coding_strings.py::test_char_to_bytes_dask PASSED [ 39%] xarray/tests/test_coding_strings.py::test_bytes_to_char PASSED [ 39%] xarray/tests/test_coding_strings.py::test_bytes_to_char_dask PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates0-days since 2000-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates1-days since 2000-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates2-days since 2000-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates3-days since 2000-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates4-days since 2000-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates5-days since 2000-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates6-days since 2000-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates7-days since 2000-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates8-days since 2000-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates9-days since 2000-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates10-days since 2000-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates11-days since 2000-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates12-hours since 1680-01-01 00:00:00-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates13-hours since 1680-01-01 00:00:00-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates14-hours since 1680-01-01 00:00:00-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates15-hour since 1680-01-01 00:00:00-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates16-hour since 1680-01-01 00:00:00-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates17-hour since 1680-01-01 00:00:00-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates18-Hour since 1680-01-01 00:00:00-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates19-Hour since 1680-01-01 00:00:00-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates20-Hour since 1680-01-01 00:00:00-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates21- Hour since 1680-01-01 00:00:00 -gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates22- Hour since 1680-01-01 00:00:00 -proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates23- Hour since 1680-01-01 00:00:00 -standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[10-days since 2000-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[10-days since 2000-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[10-days since 2000-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates27-daYs since 2000-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates28-daYs since 2000-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates29-daYs since 2000-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates30-days since 2000-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates31-days since 2000-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates32-days since 2000-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates33-days since 2000-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates34-days since 2000-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates35-days since 2000-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates36-days since 2000-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates37-days since 2000-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates38-days since 2000-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[0-days since 1000-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[0-days since 1000-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[0-days since 1000-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates42-days since 1000-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates43-days since 1000-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates44-days since 1000-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates45-days since 1000-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates46-days since 1000-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates47-days since 1000-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates48-days since 1000-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates49-days since 1000-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates50-days since 1000-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates51-days since 1900-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates52-days since 1900-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates53-days since 1900-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates54-days since 1-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates55-days since 1-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates56-days since 1-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[17093352.0-hours since 1-1-1 00:00:0.0-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[17093352.0-hours since 1-1-1 00:00:0.0-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[17093352.0-hours since 1-1-1 00:00:0.0-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates60-hours since 1900-01-01T00:00:00-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates61-hours since 1900-01-01T00:00:00-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates62-hours since 1900-01-01T00:00:00-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[0-milliseconds since 2000-01-01T00:00:00-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[0-milliseconds since 2000-01-01T00:00:00-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[0-milliseconds since 2000-01-01T00:00:00-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[0-microseconds since 2000-01-01T00:00:00-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[0-microseconds since 2000-01-01T00:00:00-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[0-microseconds since 2000-01-01T00:00:00-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates69-seconds since 1981-01-01-gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates70-seconds since 1981-01-01-proleptic_gregorian] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates71-seconds since 1981-01-01-standard] PASSED [ 39%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates72-hour since 1680-01-01 00:00:00.500000-gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates73-hour since 1680-01-01 00:00:00.500000-proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates74-hour since 1680-01-01 00:00:00.500000-standard] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_datetime[164375-days since 1850-01-01 00:00:00-gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_datetime[164375-days since 1850-01-01 00:00:00-proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_datetime[164375-days since 1850-01-01 00:00:00-standard] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_datetime[164374.5-days since 1850-01-01 00:00:00-gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_datetime[164374.5-days since 1850-01-01 00:00:00-proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_datetime[164374.5-days since 1850-01-01 00:00:00-standard] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates81-days since 1850-01-01 00:00:00-gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates82-days since 1850-01-01 00:00:00-proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_datetime[num_dates83-days since 1850-01-01 00:00:00-standard] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_cf_datetime_overflow PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_cf_datetime_non_standard_units PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_cf_datetime_non_iso_strings PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_standard_calendar_inside_timestamp_range[gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_standard_calendar_inside_timestamp_range[proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_standard_calendar_inside_timestamp_range[standard] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_inside_timestamp_range[360_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_inside_timestamp_range[365_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_inside_timestamp_range[366_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_inside_timestamp_range[all_leap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_inside_timestamp_range[julian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_inside_timestamp_range[noleap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_dates_outside_timestamp_range[360_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_dates_outside_timestamp_range[365_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_dates_outside_timestamp_range[366_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_dates_outside_timestamp_range[all_leap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_dates_outside_timestamp_range[gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_dates_outside_timestamp_range[julian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_dates_outside_timestamp_range[noleap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_dates_outside_timestamp_range[proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_dates_outside_timestamp_range[standard] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_standard_calendar_single_element_inside_timestamp_range[gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_standard_calendar_single_element_inside_timestamp_range[proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_standard_calendar_single_element_inside_timestamp_range[standard] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_single_element_inside_timestamp_range[360_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_single_element_inside_timestamp_range[365_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_single_element_inside_timestamp_range[366_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_single_element_inside_timestamp_range[all_leap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_single_element_inside_timestamp_range[julian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_single_element_inside_timestamp_range[noleap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_single_element_outside_timestamp_range[360_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_single_element_outside_timestamp_range[365_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_single_element_outside_timestamp_range[366_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_single_element_outside_timestamp_range[all_leap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_single_element_outside_timestamp_range[julian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_single_element_outside_timestamp_range[noleap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_standard_calendar_multidim_time_inside_timestamp_range[gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_standard_calendar_multidim_time_inside_timestamp_range[proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_standard_calendar_multidim_time_inside_timestamp_range[standard] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_nonstandard_calendar_multidim_time_inside_timestamp_range[360_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_nonstandard_calendar_multidim_time_inside_timestamp_range[365_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_nonstandard_calendar_multidim_time_inside_timestamp_range[366_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_nonstandard_calendar_multidim_time_inside_timestamp_range[all_leap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_nonstandard_calendar_multidim_time_inside_timestamp_range[julian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_nonstandard_calendar_multidim_time_inside_timestamp_range[noleap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_multidim_time_outside_timestamp_range[360_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_multidim_time_outside_timestamp_range[365_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_multidim_time_outside_timestamp_range[366_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_multidim_time_outside_timestamp_range[all_leap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_multidim_time_outside_timestamp_range[gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_multidim_time_outside_timestamp_range[julian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_multidim_time_outside_timestamp_range[noleap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_multidim_time_outside_timestamp_range[proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_multidim_time_outside_timestamp_range[standard] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_single_element[360_day-720058.0] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_single_element[all_leap-732059.0] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_non_standard_calendar_single_element[366_day-732059.0] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_360_day_calendar PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_abbreviation PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_datetime_nan[num_dates0-days since 2000-01-01-expected_list0] FAILED [ 40%] xarray/tests/test_coding_times.py::test_cf_datetime_nan[num_dates1-days since 2000-01-01-expected_list1] FAILED [ 40%] xarray/tests/test_coding_times.py::test_cf_datetime_nan[num_dates2-days since 2000-01-01-expected_list2] FAILED [ 40%] xarray/tests/test_coding_times.py::test_decoded_cf_datetime_array_2d PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_datetime_units[N-nanoseconds] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_datetime_units[U-microseconds] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_datetime_units[L-milliseconds] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_datetime_units[S-seconds] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_datetime_units[T-minutes] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_datetime_units[H-hours] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_datetime_units[D-days] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_datetime_units_with_NaT[dates0-days since 1900-01-01 00:00:00] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_datetime_units_with_NaT[dates1-days since 1900-01-01 00:00:00] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_datetime_units_with_NaT[dates2-days since 1970-01-01 00:00:00] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args0-days since 1900-01-01 00:00:00.000000-360_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args0-days since 1900-01-01 00:00:00.000000-365_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args0-days since 1900-01-01 00:00:00.000000-366_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args0-days since 1900-01-01 00:00:00.000000-all_leap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args0-days since 1900-01-01 00:00:00.000000-julian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args0-days since 1900-01-01 00:00:00.000000-noleap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args0-days since 1900-01-01 00:00:00.000000-gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args0-days since 1900-01-01 00:00:00.000000-proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args1-seconds since 1900-01-01 00:00:00.000000-360_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args1-seconds since 1900-01-01 00:00:00.000000-365_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args1-seconds since 1900-01-01 00:00:00.000000-366_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args1-seconds since 1900-01-01 00:00:00.000000-all_leap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args1-seconds since 1900-01-01 00:00:00.000000-julian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args1-seconds since 1900-01-01 00:00:00.000000-noleap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args1-seconds since 1900-01-01 00:00:00.000000-gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args1-seconds since 1900-01-01 00:00:00.000000-proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args2-days since 1900-01-01 00:00:00.000000-360_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args2-days since 1900-01-01 00:00:00.000000-365_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args2-days since 1900-01-01 00:00:00.000000-366_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args2-days since 1900-01-01 00:00:00.000000-all_leap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args2-days since 1900-01-01 00:00:00.000000-julian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args2-days since 1900-01-01 00:00:00.000000-noleap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args2-days since 1900-01-01 00:00:00.000000-gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_cftime_datetime_units[date_args2-days since 1900-01-01 00:00:00.000000-proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_timedelta[1D-days-numbers0] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_timedelta[timedeltas1-days-numbers1] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_timedelta[1h-hours-numbers2] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_timedelta[1ms-milliseconds-numbers3] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_timedelta[1us-microseconds-numbers4] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_timedelta[1ns-nanoseconds-numbers5] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_timedelta[timedeltas6-None-numbers6] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_timedelta[timedeltas7-hours-numbers7] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_timedelta[NaT-days-nan] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_timedelta[timedeltas9-days-numbers9] PASSED [ 40%] xarray/tests/test_coding_times.py::test_cf_timedelta_2d PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_timedelta_units[deltas0-days] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_timedelta_units[deltas1-hours] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_timedelta_units[deltas2-minutes] PASSED [ 40%] xarray/tests/test_coding_times.py::test_infer_timedelta_units[deltas3-seconds] PASSED [ 40%] xarray/tests/test_coding_times.py::test_format_cftime_datetime[date_args0-0001-02-03 04:05:06.000000] PASSED [ 40%] xarray/tests/test_coding_times.py::test_format_cftime_datetime[date_args1-0010-02-03 04:05:06.000000] PASSED [ 40%] xarray/tests/test_coding_times.py::test_format_cftime_datetime[date_args2-0100-02-03 04:05:06.000000] PASSED [ 40%] xarray/tests/test_coding_times.py::test_format_cftime_datetime[date_args3-1000-02-03 04:05:06.000000] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_cf[360_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_cf[365_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_cf[366_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_cf[all_leap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_cf[gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_cf[julian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_cf[noleap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_cf[proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_cf[standard] PASSED [ 40%] xarray/tests/test_coding_times.py::test_decode_cf_time_bounds PASSED [ 40%] xarray/tests/test_coding_times.py::test_encode_time_bounds PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_1d[360_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_1d[365_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_1d[366_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_1d[all_leap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_1d[gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_1d[julian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_1d[noleap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_1d[proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_1d[standard] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_1d[360_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_1d[365_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_1d[366_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_1d[all_leap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_1d[gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_1d[julian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_1d[noleap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_1d[proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_1d[standard] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_3d[360_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_3d[365_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_3d[366_day] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_3d[all_leap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_3d[gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_3d[julian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_3d[noleap] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_3d[proleptic_gregorian] PASSED [ 40%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_3d[standard] PASSED [ 41%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_3d[360_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_3d[365_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_3d[366_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_3d[all_leap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_3d[gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_3d[julian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_3d[noleap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_3d[proleptic_gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_dask_3d[standard] PASSED [ 41%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_non_cftimes[non_cftime_data0] PASSED [ 41%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_non_cftimes[non_cftime_data1] PASSED [ 41%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_non_cftimes_dask[non_cftime_data0] PASSED [ 41%] xarray/tests/test_coding_times.py::test_contains_cftime_datetimes_non_cftimes_dask[non_cftime_data1] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_overflow[shape0] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_overflow[shape1] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_overflow[shape2] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_expected_failures PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_pandas_min PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_invalid_pandas_valid_cftime PASSED [ 41%] xarray/tests/test_coding_times.py::test_time_units_with_timezone_roundtrip[360_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_time_units_with_timezone_roundtrip[365_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_time_units_with_timezone_roundtrip[366_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_time_units_with_timezone_roundtrip[all_leap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_time_units_with_timezone_roundtrip[gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_time_units_with_timezone_roundtrip[julian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_time_units_with_timezone_roundtrip[noleap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_time_units_with_timezone_roundtrip[proleptic_gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_time_units_with_timezone_roundtrip[standard] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_standard_calendar_in_range[gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_standard_calendar_in_range[proleptic_gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_standard_calendar_in_range[standard] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_standard_calendar_out_of_range[1500-gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_standard_calendar_out_of_range[1500-proleptic_gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_standard_calendar_out_of_range[1500-standard] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_standard_calendar_out_of_range[2500-gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_standard_calendar_out_of_range[2500-proleptic_gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_standard_calendar_out_of_range[2500-standard] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[1500-360_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[1500-365_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[1500-366_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[1500-all_leap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[1500-julian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[1500-noleap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[2000-360_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[2000-365_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[2000-366_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[2000-all_leap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[2000-julian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[2000-noleap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[2500-360_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[2500-365_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[2500-366_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[2500-all_leap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[2500-julian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_default_non_standard_calendar[2500-noleap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[1500-360_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[1500-365_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[1500-366_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[1500-all_leap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[1500-gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[1500-julian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[1500-noleap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[1500-proleptic_gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[1500-standard] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2000-360_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2000-365_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2000-366_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2000-all_leap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2000-gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2000-julian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2000-noleap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2000-proleptic_gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2000-standard] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2500-360_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2500-365_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2500-366_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2500-all_leap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2500-gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2500-julian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2500-noleap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2500-proleptic_gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_true[2500-standard] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_in_range[gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_in_range[proleptic_gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_in_range[standard] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_out_of_range[1500-gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_out_of_range[1500-proleptic_gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_out_of_range[1500-standard] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_out_of_range[2500-gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_out_of_range[2500-proleptic_gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_standard_calendar_out_of_range[2500-standard] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[1500-360_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[1500-365_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[1500-366_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[1500-all_leap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[1500-julian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[1500-noleap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[2000-360_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[2000-365_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[2000-366_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[2000-all_leap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[2000-julian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[2000-noleap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[2500-360_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[2500-365_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[2500-366_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[2500-all_leap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[2500-julian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_use_cftime_false_non_standard_calendar[2500-noleap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_decode_ambiguous_time_warns[360_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_decode_ambiguous_time_warns[365_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_decode_ambiguous_time_warns[366_day] PASSED [ 41%] xarray/tests/test_coding_times.py::test_decode_ambiguous_time_warns[all_leap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_decode_ambiguous_time_warns[gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_decode_ambiguous_time_warns[julian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_decode_ambiguous_time_warns[noleap] PASSED [ 41%] xarray/tests/test_coding_times.py::test_decode_ambiguous_time_warns[proleptic_gregorian] PASSED [ 41%] xarray/tests/test_coding_times.py::test_decode_ambiguous_time_warns[standard] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-N-nanoseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-N-microseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-N-milliseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-N-seconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-N-minutes] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-N-hours] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-N-days] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-U-nanoseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-U-microseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-U-milliseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-U-seconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-U-minutes] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-U-hours] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-U-days] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-L-nanoseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-L-microseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-L-milliseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-L-seconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-L-minutes] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-L-hours] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-L-days] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-S-nanoseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-S-microseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-S-milliseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-S-seconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-S-minutes] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-S-hours] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-S-days] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-T-nanoseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-T-microseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-T-milliseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-T-seconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-T-minutes] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-T-hours] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-T-days] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-H-nanoseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-H-microseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-H-milliseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-H-seconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-H-minutes] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-H-hours] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-H-days] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-D-nanoseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-D-microseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-D-milliseconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-D-seconds] PASSED [ 41%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-D-minutes] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-D-hours] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[date_range-D-days] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-N-nanoseconds] SKIPPED (Nanosecond frequency is not valid for cftime dates.) [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-N-microseconds] SKIPPED (Nanosecond frequency is not valid for cftime dates.) [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-N-milliseconds] SKIPPED (Nanosecond frequency is not valid for cftime dates.) [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-N-seconds] SKIPPED (Nanosecond frequency is not valid for cftime dates.) [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-N-minutes] SKIPPED (Nanosecond frequency is not valid for cftime dates.) [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-N-hours] SKIPPED (Nanosecond frequency is not valid for cftime dates.) [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-N-days] SKIPPED (Nanosecond frequency is not valid for cftime dates.) [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-U-nanoseconds] SKIPPED (Nanosecond frequency is not valid for cftime dates.) [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-U-microseconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-U-milliseconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-U-seconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-U-minutes] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-U-hours] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-U-days] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-L-nanoseconds] SKIPPED (Nanosecond frequency is not valid for cftime dates.) [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-L-microseconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-L-milliseconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-L-seconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-L-minutes] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-L-hours] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-L-days] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-S-nanoseconds] SKIPPED (Nanosecond frequency is not valid for cftime dates.) [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-S-microseconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-S-milliseconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-S-seconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-S-minutes] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-S-hours] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-S-days] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-T-nanoseconds] SKIPPED (Nanosecond frequency is not valid for cftime dates.) [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-T-microseconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-T-milliseconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-T-seconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-T-minutes] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-T-hours] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-T-days] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-H-nanoseconds] SKIPPED (Nanosecond frequency is not valid for cftime dates.) [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-H-microseconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-H-milliseconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-H-seconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-H-minutes] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-H-hours] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-H-days] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-D-nanoseconds] SKIPPED (Nanosecond frequency is not valid for cftime dates.) [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-D-microseconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-D-milliseconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-D-seconds] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-D-minutes] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-D-hours] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_cf_datetime_defaults_to_correct_dtype[cftime_range-D-days] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_decode_roundtrip_datetime64[N] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_decode_roundtrip_datetime64[U] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_decode_roundtrip_datetime64[L] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_decode_roundtrip_datetime64[S] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_decode_roundtrip_datetime64[T] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_decode_roundtrip_datetime64[H] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_decode_roundtrip_datetime64[D] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_decode_roundtrip_cftime[U] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_decode_roundtrip_cftime[L] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_decode_roundtrip_cftime[S] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_decode_roundtrip_cftime[T] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_decode_roundtrip_cftime[H] PASSED [ 42%] xarray/tests/test_coding_times.py::test_encode_decode_roundtrip_cftime[D] PASSED [ 42%] xarray/tests/test_coding_times.py::test__encode_datetime_with_cftime PASSED [ 42%] xarray/tests/test_coding_times.py::test_decode_encode_roundtrip_with_non_lowercase_letters[gregorian] PASSED [ 42%] xarray/tests/test_coding_times.py::test_decode_encode_roundtrip_with_non_lowercase_letters[Gregorian] PASSED [ 42%] xarray/tests/test_coding_times.py::test_decode_encode_roundtrip_with_non_lowercase_letters[GREGORIAN] PASSED [ 42%] xarray/tests/test_coding_times.py::test_should_cftime_be_used_source_outside_range PASSED [ 42%] xarray/tests/test_coding_times.py::test_should_cftime_be_used_target_not_npable PASSED [ 42%] xarray/tests/test_coding_times.py::test_decode_cf_datetime_uint[uint8] PASSED [ 42%] xarray/tests/test_coding_times.py::test_decode_cf_datetime_uint[uint16] PASSED [ 42%] xarray/tests/test_coding_times.py::test_decode_cf_datetime_uint[uint32] PASSED [ 42%] xarray/tests/test_coding_times.py::test_decode_cf_datetime_uint[uint64] PASSED [ 42%] xarray/tests/test_coding_times.py::test_decode_cf_datetime_uint64_with_cftime PASSED [ 42%] xarray/tests/test_coding_times.py::test_decode_cf_datetime_uint64_with_cftime_overflow_error PASSED [ 42%] xarray/tests/test_coding_times.py::test_decode_0size_datetime[True] PASSED [ 42%] xarray/tests/test_coding_times.py::test_decode_0size_datetime[False] PASSED [ 42%] xarray/tests/test_coding_times.py::test_scalar_unit PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromNestedList::test_1d PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromNestedList::test_2d PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromNestedList::test_3d PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromNestedList::test_single_dataset PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromNestedList::test_redundant_nesting PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromNestedList::test_ignore_empty_list PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromNestedList::test_uneven_depth_input PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromNestedList::test_uneven_length_input PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromNestedList::test_infer_from_datasets PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromCoords::test_1d PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromCoords::test_2d PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromCoords::test_no_dimension_coords PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromCoords::test_coord_not_monotonic PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromCoords::test_coord_monotonically_decreasing PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromCoords::test_no_concatenation_needed PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromCoords::test_2d_plus_bystander_dim PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromCoords::test_string_coords PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromCoords::test_lexicographic_sort_string_coords PASSED [ 42%] xarray/tests/test_combine.py::TestTileIDsFromCoords::test_datetime_coords PASSED [ 42%] xarray/tests/test_combine.py::TestNewTileIDs::test_new_tile_id[old_id0-new_id0] PASSED [ 42%] xarray/tests/test_combine.py::TestNewTileIDs::test_new_tile_id[old_id1-new_id1] PASSED [ 42%] xarray/tests/test_combine.py::TestNewTileIDs::test_new_tile_id[old_id2-new_id2] PASSED [ 42%] xarray/tests/test_combine.py::TestNewTileIDs::test_new_tile_id[old_id3-new_id3] PASSED [ 42%] xarray/tests/test_combine.py::TestNewTileIDs::test_new_tile_id[old_id4-new_id4] PASSED [ 42%] xarray/tests/test_combine.py::TestNewTileIDs::test_get_new_tile_ids PASSED [ 42%] xarray/tests/test_combine.py::TestCombineND::test_concat_once[dim1] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineND::test_concat_once[new_dim] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineND::test_concat_only_first_dim PASSED [ 42%] xarray/tests/test_combine.py::TestCombineND::test_concat_twice[dim1] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineND::test_concat_twice[new_dim] PASSED [ 42%] xarray/tests/test_combine.py::TestCheckShapeTileIDs::test_check_depths PASSED [ 42%] xarray/tests/test_combine.py::TestCheckShapeTileIDs::test_check_lengths PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_nested_concat PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_combine_nested_join[outer-expected0] PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_combine_nested_join[inner-expected1] PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_combine_nested_join[left-expected2] PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_combine_nested_join[right-expected3] PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_combine_nested_join_exact PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_empty_input PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_nested_concat_too_many_dims_at_once XFAIL [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_nested_concat_along_new_dim PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_nested_merge PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_concat_multiple_dims PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_concat_name_symmetry PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_concat_one_dim_merge_another PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_auto_combine_2d PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_auto_combine_2d_combine_attrs_kwarg PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_combine_nested_missing_data_new_dim PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_invalid_hypercube_input PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_merge_one_dim_concat_another PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_combine_concat_over_redundant_nesting PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_combine_nested_fill_value[fill_value0] PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_combine_nested_fill_value[2] PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_combine_nested_fill_value[2.0] PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_combine_nested_fill_value[fill_value3] PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_combine_nested_unnamed_data_arrays PASSED [ 42%] xarray/tests/test_combine.py::TestNestedCombine::test_nested_combine_mixed_datasets_arrays PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_by_coords PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_empty_input PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_coords_join[outer-expected0] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_coords_join[inner-expected1] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_coords_join[left-expected2] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_coords_join[right-expected3] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_coords_join_exact PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_coords_combine_attrs[drop-expected0] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_coords_combine_attrs[no_conflicts-expected1] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_coords_combine_attrs[override-expected2] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_coords_combine_attrs[-expected3] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_coords_combine_attrs_identical PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_nested_combine_attrs_drop_conflicts PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_nested_combine_attrs_variables[no_conflicts-attrs10-attrs20-expected_attrs0-False] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_nested_combine_attrs_variables[no_conflicts-attrs11-attrs21-expected_attrs1-False] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_nested_combine_attrs_variables[no_conflicts-attrs12-attrs22-expected_attrs2-False] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_nested_combine_attrs_variables[no_conflicts-attrs13-attrs23-expected_attrs3-True] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_nested_combine_attrs_variables[drop-attrs14-attrs24-expected_attrs4-False] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_nested_combine_attrs_variables[identical-attrs15-attrs25-expected_attrs5-False] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_nested_combine_attrs_variables[identical-attrs16-attrs26-expected_attrs6-True] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_nested_combine_attrs_variables[override-attrs17-attrs27-expected_attrs7-False] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_nested_combine_attrs_variables[drop_conflicts-attrs18-attrs28-expected_attrs8-False] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_by_coords_combine_attrs_variables[no_conflicts-attrs10-attrs20-expected_attrs0-False] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_by_coords_combine_attrs_variables[no_conflicts-attrs11-attrs21-expected_attrs1-False] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_by_coords_combine_attrs_variables[no_conflicts-attrs12-attrs22-expected_attrs2-False] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_by_coords_combine_attrs_variables[no_conflicts-attrs13-attrs23-expected_attrs3-True] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_by_coords_combine_attrs_variables[drop-attrs14-attrs24-expected_attrs4-False] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_by_coords_combine_attrs_variables[identical-attrs15-attrs25-expected_attrs5-False] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_by_coords_combine_attrs_variables[identical-attrs16-attrs26-expected_attrs6-True] PASSED [ 42%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_by_coords_combine_attrs_variables[override-attrs17-attrs27-expected_attrs7-False] PASSED [ 43%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_by_coords_combine_attrs_variables[drop_conflicts-attrs18-attrs28-expected_attrs8-False] PASSED [ 43%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_infer_order_from_coords PASSED [ 43%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_leaving_bystander_dimensions PASSED [ 43%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_by_coords_previously_failed PASSED [ 43%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_by_coords_still_fails PASSED [ 43%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_by_coords_no_concat PASSED [ 43%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_check_for_impossible_ordering PASSED [ 43%] xarray/tests/test_combine.py::TestCombineDatasetsbyCoords::test_combine_by_coords_incomplete_hypercube PASSED [ 43%] xarray/tests/test_combine.py::TestCombineMixedObjectsbyCoords::test_combine_by_coords_mixed_unnamed_dataarrays PASSED [ 43%] xarray/tests/test_combine.py::TestCombineMixedObjectsbyCoords::test_combine_coords_mixed_datasets_named_dataarrays PASSED [ 43%] xarray/tests/test_combine.py::TestCombineMixedObjectsbyCoords::test_combine_by_coords_all_unnamed_dataarrays PASSED [ 43%] xarray/tests/test_combine.py::TestCombineMixedObjectsbyCoords::test_combine_by_coords_all_named_dataarrays PASSED [ 43%] xarray/tests/test_combine.py::TestCombineMixedObjectsbyCoords::test_combine_by_coords_all_dataarrays_with_the_same_name PASSED [ 43%] xarray/tests/test_combine.py::test_combine_by_coords_distant_cftime_dates PASSED [ 43%] xarray/tests/test_combine.py::test_combine_by_coords_raises_for_differing_calendars PASSED [ 43%] xarray/tests/test_combine.py::test_combine_by_coords_raises_for_differing_types PASSED [ 43%] xarray/tests/test_computation.py::test_signature_properties PASSED [ 43%] xarray/tests/test_computation.py::test_result_name PASSED [ 43%] xarray/tests/test_computation.py::test_ordered_set_union PASSED [ 43%] xarray/tests/test_computation.py::test_ordered_set_intersection PASSED [ 43%] xarray/tests/test_computation.py::test_join_dict_keys PASSED [ 43%] xarray/tests/test_computation.py::test_collect_dict_values PASSED [ 43%] xarray/tests/test_computation.py::test_apply_identity PASSED [ 43%] xarray/tests/test_computation.py::test_apply_two_inputs PASSED [ 43%] xarray/tests/test_computation.py::test_apply_1d_and_0d PASSED [ 43%] xarray/tests/test_computation.py::test_apply_two_outputs PASSED [ 43%] xarray/tests/test_computation.py::test_apply_dask_parallelized_two_outputs PASSED [ 43%] xarray/tests/test_computation.py::test_apply_input_core_dimension PASSED [ 43%] xarray/tests/test_computation.py::test_apply_output_core_dimension PASSED [ 43%] xarray/tests/test_computation.py::test_apply_exclude PASSED [ 43%] xarray/tests/test_computation.py::test_apply_groupby_add PASSED [ 43%] xarray/tests/test_computation.py::test_unified_dim_sizes PASSED [ 43%] xarray/tests/test_computation.py::test_broadcast_compat_data_1d PASSED [ 43%] xarray/tests/test_computation.py::test_broadcast_compat_data_2d PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_variable[default] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_variable[False] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_variable[True] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_variable[override] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_variable[drop] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_variable[drop_conflicts] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_variable[no_conflicts] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray[default] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray[False] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray[True] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray[override] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray[drop] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray[drop_conflicts] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray[no_conflicts] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray_variables[default-dim] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray_variables[default-coord] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray_variables[False-dim] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray_variables[False-coord] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray_variables[True-dim] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray_variables[True-coord] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray_variables[override-dim] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray_variables[override-coord] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray_variables[drop-dim] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray_variables[drop-coord] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray_variables[drop_conflicts-dim] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray_variables[drop_conflicts-coord] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray_variables[no_conflicts-dim] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataarray_variables[no_conflicts-coord] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset[default] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset[False] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset[True] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset[override] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset[drop] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset[drop_conflicts] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset[no_conflicts] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[default-data] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[default-dim] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[default-coord] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[False-data] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[False-dim] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[False-coord] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[True-data] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[True-dim] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[True-coord] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[override-data] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[override-dim] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[override-coord] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[drop-data] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[drop-dim] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[drop-coord] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[drop_conflicts-data] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[drop_conflicts-dim] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[drop_conflicts-coord] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[no_conflicts-data] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[no_conflicts-dim] PASSED [ 43%] xarray/tests/test_computation.py::test_keep_attrs_strategies_dataset_variables[no_conflicts-coord] PASSED [ 43%] xarray/tests/test_computation.py::test_dataset_join PASSED [ 43%] xarray/tests/test_computation.py::test_apply_dask PASSED [ 43%] xarray/tests/test_computation.py::test_apply_dask_parallelized_one_arg PASSED [ 43%] xarray/tests/test_computation.py::test_apply_dask_parallelized_two_args PASSED [ 43%] xarray/tests/test_computation.py::test_apply_dask_parallelized_errors PASSED [ 43%] xarray/tests/test_computation.py::test_apply_dask_multiple_inputs PASSED [ 43%] xarray/tests/test_computation.py::test_apply_dask_new_output_dimension PASSED [ 43%] xarray/tests/test_computation.py::test_apply_dask_new_output_sizes PASSED [ 43%] xarray/tests/test_computation.py::test_vectorize PASSED [ 43%] xarray/tests/test_computation.py::test_vectorize_dask PASSED [ 43%] xarray/tests/test_computation.py::test_vectorize_dask_dtype PASSED [ 43%] xarray/tests/test_computation.py::test_vectorize_dask_dtype_without_output_dtypes[data_array0] PASSED [ 43%] xarray/tests/test_computation.py::test_vectorize_dask_dtype_without_output_dtypes[data_array1] PASSED [ 43%] xarray/tests/test_computation.py::test_vectorize_dask_dtype_meta SKIPPED (dask/dask#7669: can no longer pass output_dtypes and meta) [ 43%] xarray/tests/test_computation.py::test_vectorize_exclude_dims PASSED [ 43%] xarray/tests/test_computation.py::test_vectorize_exclude_dims_dask PASSED [ 43%] xarray/tests/test_computation.py::test_corr_only_dataarray PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[None-da_a0-da_b0-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[None-da_a0-da_b0-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[None-da_a1-da_b1-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[None-da_a1-da_b1-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[None-da_a2-da_b2-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[None-da_a2-da_b2-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[None-da_a3-da_b3-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[None-da_a3-da_b3-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[None-da_a4-da_b4-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[None-da_a4-da_b4-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[None-da_a5-da_b5-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[None-da_a5-da_b5-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[x-da_a0-da_b0-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[x-da_a0-da_b0-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[x-da_a1-da_b1-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[x-da_a1-da_b1-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[x-da_a2-da_b2-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[x-da_a2-da_b2-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[x-da_a3-da_b3-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[x-da_a3-da_b3-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[x-da_a4-da_b4-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[x-da_a4-da_b4-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[x-da_a5-da_b5-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[x-da_a5-da_b5-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[time-da_a0-da_b0-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[time-da_a0-da_b0-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[time-da_a1-da_b1-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[time-da_a1-da_b1-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[time-da_a2-da_b2-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[time-da_a2-da_b2-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[time-da_a3-da_b3-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[time-da_a3-da_b3-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[time-da_a4-da_b4-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[time-da_a4-da_b4-1] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[time-da_a5-da_b5-0] PASSED [ 43%] xarray/tests/test_computation.py::test_lazy_corrcov[time-da_a5-da_b5-1] PASSED [ 43%] xarray/tests/test_computation.py::test_cov[None-da_a0-da_b0-0] PASSED [ 43%] xarray/tests/test_computation.py::test_cov[None-da_a0-da_b0-1] PASSED [ 43%] xarray/tests/test_computation.py::test_cov[None-da_a1-da_b1-0] PASSED [ 43%] xarray/tests/test_computation.py::test_cov[None-da_a1-da_b1-1] PASSED [ 43%] xarray/tests/test_computation.py::test_cov[None-da_a2-da_b2-0] PASSED [ 43%] xarray/tests/test_computation.py::test_cov[None-da_a2-da_b2-1] PASSED [ 43%] xarray/tests/test_computation.py::test_cov[time-da_a0-da_b0-0] PASSED [ 43%] xarray/tests/test_computation.py::test_cov[time-da_a0-da_b0-1] PASSED [ 43%] xarray/tests/test_computation.py::test_cov[time-da_a1-da_b1-0] PASSED [ 43%] xarray/tests/test_computation.py::test_cov[time-da_a1-da_b1-1] PASSED [ 43%] xarray/tests/test_computation.py::test_cov[time-da_a2-da_b2-0] PASSED [ 43%] xarray/tests/test_computation.py::test_cov[time-da_a2-da_b2-1] PASSED [ 43%] xarray/tests/test_computation.py::test_corr[None-da_a0-da_b0] PASSED [ 43%] xarray/tests/test_computation.py::test_corr[None-da_a1-da_b1] PASSED [ 43%] xarray/tests/test_computation.py::test_corr[None-da_a2-da_b2] PASSED [ 43%] xarray/tests/test_computation.py::test_corr[time-da_a0-da_b0] PASSED [ 43%] xarray/tests/test_computation.py::test_corr[time-da_a1-da_b1] PASSED [ 43%] xarray/tests/test_computation.py::test_corr[time-da_a2-da_b2] PASSED [ 43%] xarray/tests/test_computation.py::test_covcorr_consistency[None-da_a0-da_b0] PASSED [ 43%] xarray/tests/test_computation.py::test_covcorr_consistency[None-da_a1-da_b1] PASSED [ 43%] xarray/tests/test_computation.py::test_covcorr_consistency[None-da_a2-da_b2] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[None-da_a3-da_b3] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[None-da_a4-da_b4] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[None-da_a5-da_b5] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[None-da_a6-da_b6] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[None-da_a7-da_b7] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[None-da_a8-da_b8] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[time-da_a0-da_b0] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[time-da_a1-da_b1] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[time-da_a2-da_b2] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[time-da_a3-da_b3] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[time-da_a4-da_b4] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[time-da_a5-da_b5] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[time-da_a6-da_b6] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[time-da_a7-da_b7] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[time-da_a8-da_b8] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[x-da_a0-da_b0] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[x-da_a1-da_b1] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[x-da_a2-da_b2] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[x-da_a3-da_b3] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[x-da_a4-da_b4] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[x-da_a5-da_b5] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[x-da_a6-da_b6] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[x-da_a7-da_b7] PASSED [ 44%] xarray/tests/test_computation.py::test_covcorr_consistency[x-da_a8-da_b8] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[None-da_a0-da_b0] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[None-da_a1-da_b1] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[None-da_a2-da_b2] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[None-da_a3-da_b3] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[None-da_a4-da_b4] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[None-da_a5-da_b5] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[None-da_a6-da_b6] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[None-da_a7-da_b7] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[None-da_a8-da_b8] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[time-da_a0-da_b0] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[time-da_a1-da_b1] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[time-da_a2-da_b2] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[time-da_a3-da_b3] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[time-da_a4-da_b4] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[time-da_a5-da_b5] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[time-da_a6-da_b6] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[time-da_a7-da_b7] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[time-da_a8-da_b8] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[x-da_a0-da_b0] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[x-da_a1-da_b1] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[x-da_a2-da_b2] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[x-da_a3-da_b3] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[x-da_a4-da_b4] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[x-da_a5-da_b5] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[x-da_a6-da_b6] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[x-da_a7-da_b7] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_lazycorr_consistency[x-da_a8-da_b8] PASSED [ 44%] xarray/tests/test_computation.py::test_corr_dtype_error PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[None-da_a0] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[None-da_a1] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[None-da_a2] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[None-da_a3] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[None-da_a4] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[time-da_a0] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[time-da_a1] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[time-da_a2] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[time-da_a3] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[time-da_a4] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[x-da_a0] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[x-da_a1] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[x-da_a2] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[x-da_a3] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[x-da_a4] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[dim3-da_a0] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[dim3-da_a1] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[dim3-da_a2] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[dim3-da_a3] PASSED [ 44%] xarray/tests/test_computation.py::test_autocov[dim3-da_a4] PASSED [ 44%] xarray/tests/test_computation.py::test_vectorize_dask_new_output_dims PASSED [ 44%] xarray/tests/test_computation.py::test_output_wrong_number PASSED [ 44%] xarray/tests/test_computation.py::test_output_wrong_dims PASSED [ 44%] xarray/tests/test_computation.py::test_output_wrong_dim_size PASSED [ 44%] xarray/tests/test_computation.py::test_dot[True] PASSED [ 44%] xarray/tests/test_computation.py::test_dot[False] PASSED [ 44%] xarray/tests/test_computation.py::test_dot_align_coords[True] PASSED [ 44%] xarray/tests/test_computation.py::test_dot_align_coords[False] PASSED [ 44%] xarray/tests/test_computation.py::test_where PASSED [ 44%] xarray/tests/test_computation.py::test_where_attrs PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[simple-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[simple-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[broadcast-x-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[broadcast-x-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[shared-dim-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[shared-dim-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[reordered-index-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[reordered-index-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[sparse-index-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[sparse-index-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[array-dataset-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[array-dataset-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[dataset-array-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[dataset-array-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[dataset-dataset-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[dataset-dataset-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[datetime-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[datetime-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[timedelta-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval[timedelta-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval_cftime[1970-01-01-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval_cftime[1970-01-01-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval_cftime[0753-04-21-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval_cftime[0753-04-21-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyval_degree_dim_checks PASSED [ 44%] xarray/tests/test_computation.py::test_polyfit_polyval_integration[1D-simple-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyfit_polyval_integration[1D-simple-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyfit_polyval_integration[1D-datetime-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyfit_polyval_integration[1D-datetime-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyfit_polyval_integration[1D-timedelta-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyfit_polyval_integration[1D-timedelta-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyfit_polyval_integration[2D-simple-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyfit_polyval_integration[2D-simple-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyfit_polyval_integration[2D-datetime-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyfit_polyval_integration[2D-datetime-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyfit_polyval_integration[2D-timedelta-nodask] PASSED [ 44%] xarray/tests/test_computation.py::test_polyfit_polyval_integration[2D-timedelta-dask] PASSED [ 44%] xarray/tests/test_computation.py::test_cross[a0-b0-ae0-be0-dim_0--1-False] PASSED [ 44%] xarray/tests/test_computation.py::test_cross[a0-b0-ae0-be0-dim_0--1-True] PASSED [ 44%] xarray/tests/test_computation.py::test_cross[a1-b1-ae1-be1-dim_0--1-False] PASSED [ 44%] xarray/tests/test_computation.py::test_cross[a1-b1-ae1-be1-dim_0--1-True] PASSED [ 44%] xarray/tests/test_computation.py::test_cross[a2-b2-ae2-be2-dim_0--1-False] PASSED [ 44%] xarray/tests/test_computation.py::test_cross[a2-b2-ae2-be2-dim_0--1-True] PASSED [ 44%] xarray/tests/test_computation.py::test_cross[a3-b3-ae3-be3-dim_0--1-False] PASSED [ 44%] xarray/tests/test_computation.py::test_cross[a3-b3-ae3-be3-dim_0--1-True] PASSED [ 44%] xarray/tests/test_computation.py::test_cross[a4-b4-ae4-be4-cartesian-1-False] PASSED [ 44%] xarray/tests/test_computation.py::test_cross[a4-b4-ae4-be4-cartesian-1-True] PASSED [ 44%] xarray/tests/test_computation.py::test_cross[a5-b5-ae5-be5-cartesian--1-False] PASSED [ 44%] xarray/tests/test_computation.py::test_cross[a5-b5-ae5-be5-cartesian--1-True] PASSED [ 44%] xarray/tests/test_computation.py::test_cross[a6-b6-ae6-be6-cartesian--1-False] PASSED [ 44%] xarray/tests/test_computation.py::test_cross[a6-b6-ae6-be6-cartesian--1-True] PASSED [ 44%] xarray/tests/test_concat.py::test_concat_compat PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_simple[dim1-different] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_simple[dim1-minimal] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_simple[dim2-different] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_simple[dim2-minimal] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_merge_variables_present_in_some_datasets PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_2 PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_coords_kwarg[dim1-different] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_coords_kwarg[dim1-minimal] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_coords_kwarg[dim1-all] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_coords_kwarg[dim2-different] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_coords_kwarg[dim2-minimal] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_coords_kwarg[dim2-all] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_dim_precedence PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_data_vars_typing PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_data_vars PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_coords PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_constant_index PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_size0 PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_autoalign PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_errors PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_join_kwarg PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg[no_conflicts-var1_attrs0-var2_attrs0-expected_attrs0-False] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg[no_conflicts-var1_attrs1-var2_attrs1-expected_attrs1-False] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg[no_conflicts-var1_attrs2-var2_attrs2-expected_attrs2-False] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg[no_conflicts-var1_attrs3-var2_attrs3-expected_attrs3-True] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg[drop-var1_attrs4-var2_attrs4-expected_attrs4-False] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg[identical-var1_attrs5-var2_attrs5-expected_attrs5-False] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg[identical-var1_attrs6-var2_attrs6-expected_attrs6-True] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg[override-var1_attrs7-var2_attrs7-expected_attrs7-False] PASSED [ 44%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg[drop_conflicts-var1_attrs8-var2_attrs8-expected_attrs8-False] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg[-var1_attrs9-var2_attrs9-expected_attrs9-False] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg_variables[no_conflicts-attrs10-attrs20-expected_attrs0-False] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg_variables[no_conflicts-attrs11-attrs21-expected_attrs1-False] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg_variables[no_conflicts-attrs12-attrs22-expected_attrs2-False] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg_variables[no_conflicts-attrs13-attrs23-expected_attrs3-True] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg_variables[drop-attrs14-attrs24-expected_attrs4-False] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg_variables[identical-attrs15-attrs25-expected_attrs5-False] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg_variables[identical-attrs16-attrs26-expected_attrs6-True] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg_variables[override-attrs17-attrs27-expected_attrs7-False] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg_variables[drop_conflicts-attrs18-attrs28-expected_attrs8-False] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_combine_attrs_kwarg_variables[-attrs19-attrs29-expected_attrs9-False] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_promote_shape PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_do_not_promote PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_dim_is_variable PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_dim_is_dataarray PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_multiindex PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_along_new_dim_multiindex PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_fill_value[fill_value0] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_fill_value[2] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_fill_value[2.0] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_fill_value[fill_value3] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_str_dtype[x1-str] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_str_dtype[x1-bytes] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_str_dtype[x2-str] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataset::test_concat_str_dtype[x2-bytes] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataArray::test_concat PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataArray::test_concat_encoding PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataArray::test_concat_lazy PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataArray::test_concat_fill_value[fill_value0] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataArray::test_concat_fill_value[2] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataArray::test_concat_fill_value[2.0] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataArray::test_concat_join_kwarg PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataArray::test_concat_combine_attrs_kwarg PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataArray::test_concat_str_dtype[x1-str] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataArray::test_concat_str_dtype[x1-bytes] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataArray::test_concat_str_dtype[x2-str] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataArray::test_concat_str_dtype[x2-bytes] PASSED [ 45%] xarray/tests/test_concat.py::TestConcatDataArray::test_concat_coord_name PASSED [ 45%] xarray/tests/test_concat.py::test_concat_attrs_first_variable[attr20-attr10] PASSED [ 45%] xarray/tests/test_concat.py::test_concat_attrs_first_variable[attr20-attr11] PASSED [ 45%] xarray/tests/test_concat.py::test_concat_attrs_first_variable[attr20-attr12] PASSED [ 45%] xarray/tests/test_concat.py::test_concat_attrs_first_variable[attr21-attr10] PASSED [ 45%] xarray/tests/test_concat.py::test_concat_attrs_first_variable[attr21-attr11] PASSED [ 45%] xarray/tests/test_concat.py::test_concat_attrs_first_variable[attr21-attr12] PASSED [ 45%] xarray/tests/test_concat.py::test_concat_merge_single_non_dim_coord PASSED [ 45%] xarray/tests/test_concat.py::test_concat_preserve_coordinate_order PASSED [ 45%] xarray/tests/test_concat.py::test_concat_typing_check PASSED [ 45%] xarray/tests/test_concat.py::test_concat_not_all_indexes PASSED [ 45%] xarray/tests/test_concat.py::test_concat_index_not_same_dim PASSED [ 45%] xarray/tests/test_conventions.py::TestBoolTypeArray::test_booltype_array PASSED [ 45%] xarray/tests/test_conventions.py::TestNativeEndiannessArray::test PASSED [ 45%] xarray/tests/test_conventions.py::test_decode_cf_with_conflicting_fill_missing_value PASSED [ 45%] xarray/tests/test_conventions.py::TestEncodeCFVariable::test_incompatible_attributes PASSED [ 45%] xarray/tests/test_conventions.py::TestEncodeCFVariable::test_missing_fillvalue PASSED [ 45%] xarray/tests/test_conventions.py::TestEncodeCFVariable::test_multidimensional_coordinates PASSED [ 45%] xarray/tests/test_conventions.py::TestEncodeCFVariable::test_var_with_coord_attr PASSED [ 45%] xarray/tests/test_conventions.py::TestEncodeCFVariable::test_do_not_overwrite_user_coordinates PASSED [ 45%] xarray/tests/test_conventions.py::TestEncodeCFVariable::test_emit_coordinates_attribute_in_attrs PASSED [ 45%] xarray/tests/test_conventions.py::TestEncodeCFVariable::test_emit_coordinates_attribute_in_encoding PASSED [ 45%] xarray/tests/test_conventions.py::TestEncodeCFVariable::test_string_object_warning PASSED [ 45%] xarray/tests/test_conventions.py::TestDecodeCF::test_dataset PASSED [ 45%] xarray/tests/test_conventions.py::TestDecodeCF::test_invalid_coordinates PASSED [ 45%] xarray/tests/test_conventions.py::TestDecodeCF::test_decode_coordinates PASSED [ 45%] xarray/tests/test_conventions.py::TestDecodeCF::test_0d_int32_encoding PASSED [ 45%] xarray/tests/test_conventions.py::TestDecodeCF::test_decode_cf_with_multiple_missing_values PASSED [ 45%] xarray/tests/test_conventions.py::TestDecodeCF::test_decode_cf_with_drop_variables PASSED [ 45%] xarray/tests/test_conventions.py::TestDecodeCF::test_invalid_time_units_raises_eagerly PASSED [ 45%] xarray/tests/test_conventions.py::TestDecodeCF::test_dataset_repr_with_netcdf4_datetimes PASSED [ 45%] xarray/tests/test_conventions.py::TestDecodeCF::test_decode_cf_datetime_transition_to_invalid PASSED [ 45%] xarray/tests/test_conventions.py::TestDecodeCF::test_decode_cf_with_dask PASSED [ 45%] xarray/tests/test_conventions.py::TestDecodeCF::test_decode_dask_times PASSED [ 45%] xarray/tests/test_conventions.py::TestDecodeCF::test_decode_cf_time_kwargs PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_zero_dimensional_variable <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_write_store <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_test_data <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_load <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_dataset_compute <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_pickle <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_pickle_dataarray <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_dataset_caching <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_None_variable <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_object_dtype <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_string_data <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_string_encoded_characters <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_numpy_datetime_data <- xarray/tests/test_backends.py FAILED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_cftime_datetime_data <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_timedelta_data <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_float64_data <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_example_1_netcdf <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_global_coordinates <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_coordinates_with_space <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_boolean_dtype <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_orthogonal_indexing <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_vectorized_indexing <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_vectorized_indexing_negative_step <- xarray/tests/test_backends.py XPASS (zarr without dask handles negative steps in slices incorrectly) [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_isel_dataarray <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_array_type_after_indexing <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_dropna <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_ondisk_after_print <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_bytes_with_fill_value <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_string_with_fill_value_nchar <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_mask_and_scale[create_bad_unsigned_masked_scaled_data-create_bad_encoded_unsigned_masked_scaled_data] <- xarray/tests/test_backends.py XFAIL (Bad _Unsigned attribute.) [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_mask_and_scale[create_signed_masked_scaled_data-create_encoded_signed_masked_scaled_data] <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_mask_and_scale[create_masked_and_scaled_data-create_encoded_masked_and_scaled_data] <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_grid_mapping_and_bounds_are_not_coordinates_in_file <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_coordinate_variables_after_dataset_roundtrip <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_grid_mapping_and_bounds_are_coordinates_after_dataarray_roundtrip <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_coordinate_variables_after_iris_roundtrip <- xarray/tests/test_backends.py SKIPPED (requires iris) [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_coordinates_encoding <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_endian <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_encoding_kwarg_dates <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_default_fill_value <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_explicitly_omit_fill_value <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_explicitly_omit_fill_value_via_encoding_kwarg <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_explicitly_omit_fill_value_in_coord <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_explicitly_omit_fill_value_in_coord_via_encoding_kwarg <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_encoding_same_dtype <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_append_write <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_append_overwrite_values <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_append_with_invalid_dim_raises <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_multiindex_not_implemented <- xarray/tests/test_backends.py PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_coordinates SKIPPED (cannot roundtrip coordinates yet for CFEncodedInMemoryStore) [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_invalid_dataarray_names_raise PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_encoding_kwarg PASSED [ 45%] xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_encoding_kwarg_fixed_width_string PASSED [ 45%] xarray/tests/test_conventions.py::TestDecodeCFVariableWithArrayUnits::test_decode_cf_variable_with_array_units PASSED [ 45%] xarray/tests/test_conventions.py::test_decode_cf_variable_timedelta64 PASSED [ 45%] xarray/tests/test_conventions.py::test_decode_cf_variable_datetime64 PASSED [ 45%] xarray/tests/test_conventions.py::test_decode_cf_variable_cftime PASSED [ 45%] xarray/tests/test_conventions.py::test_scalar_units PASSED [ 45%] xarray/tests/test_conventions.py::test_decode_cf_error_includes_variable_name PASSED [ 45%] xarray/tests/test_dask.py::test_raise_if_dask_computes PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_basics PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_copy PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_chunk PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_indexing PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_setitem_dask_array[expected_data0-0] PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_setitem_dask_array[expected_data1-index1] PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_setitem_dask_array[expected_data2-index2] PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_setitem_dask_array[expected_data3-index3] PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_setitem_dask_array[expected_data4-index4] PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_setitem_dask_array[expected_data5-index5] PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_setitem_dask_array[expected_data6-index6] PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_setitem_dask_array_error SKIPPED (Requires dask < 2021.04.1) [ 45%] xarray/tests/test_dask.py::TestVariable::test_squeeze PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_equals PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_transpose PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_shift PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_roll PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_unary_op PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_binary_op PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_repr PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_pickle PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_reduce PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_missing_values PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_concat PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_missing_methods PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_univariate_ufunc PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_bivariate_ufunc PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_compute PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_persist PASSED [ 45%] xarray/tests/test_dask.py::TestVariable::test_tokenize_duck_dask_array PASSED [ 45%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_chunk PASSED [ 45%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_rechunk PASSED [ 45%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_new_chunk PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_lazy_dataset PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_lazy_array PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_compute PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_persist PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_concat_loads_variables PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_groupby PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_rolling PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_groupby_first PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_reindex PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_to_dataset_roundtrip PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_merge PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_ufuncs PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_where_dispatching PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_simultaneous_compute PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_stack PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_dot PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_dataarray_repr PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_dataset_repr PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_dataarray_pickle PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_dataset_pickle PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_dataarray_getattr PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_dataset_getattr PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_values PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_from_dask_variable PASSED [ 46%] xarray/tests/test_dask.py::TestDataArrayAndDataset::test_tokenize_duck_dask_array PASSED [ 46%] xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe PASSED [ 46%] xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe_2D PASSED [ 46%] xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe_2D_set_index XFAIL [ 46%] xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe_coordinates PASSED [ 46%] xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe_not_daskarray PASSED [ 46%] xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe_no_coordinate PASSED [ 46%] xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe_dim_order PASSED [ 46%] xarray/tests/test_dask.py::test_dask_kwargs_variable[load] PASSED [ 46%] xarray/tests/test_dask.py::test_dask_kwargs_variable[compute] PASSED [ 46%] xarray/tests/test_dask.py::test_dask_kwargs_dataarray[load] PASSED [ 46%] xarray/tests/test_dask.py::test_dask_kwargs_dataarray[compute] PASSED [ 46%] xarray/tests/test_dask.py::test_dask_kwargs_dataarray[persist] PASSED [ 46%] xarray/tests/test_dask.py::test_dask_kwargs_dataset[load] PASSED [ 46%] xarray/tests/test_dask.py::test_dask_kwargs_dataset[compute] PASSED [ 46%] xarray/tests/test_dask.py::test_dask_kwargs_dataset[persist] PASSED [ 46%] xarray/tests/test_dask.py::test_persist_Dataset[0] PASSED [ 46%] xarray/tests/test_dask.py::test_persist_Dataset[1] PASSED [ 46%] xarray/tests/test_dask.py::test_persist_DataArray[0] PASSED [ 46%] xarray/tests/test_dask.py::test_persist_DataArray[1] PASSED [ 46%] xarray/tests/test_dask.py::test_dataarray_with_dask_coords PASSED [ 46%] xarray/tests/test_dask.py::test_basic_compute PASSED [ 46%] xarray/tests/test_dask.py::test_dask_layers_and_dependencies PASSED [ 46%] xarray/tests/test_dask.py::test_unify_chunks PASSED [ 46%] xarray/tests/test_dask.py::test_unify_chunks_shallow_copy[0-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_unify_chunks_shallow_copy[0-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_unify_chunks_shallow_copy[1-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_unify_chunks_shallow_copy[1-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_auto_chunk_da[obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_error PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks[obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks[obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_mixed_type_inputs[obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_mixed_type_inputs[obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_convert_args_to_list[obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_convert_args_to_list[obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_dask_args PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_add_attrs[obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_add_attrs[obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_change_name PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_kwargs[obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_kwargs[obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_to_array PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_da_transformations[0] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_da_transformations[1] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_da_transformations[2] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_da_transformations[3] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_da_transformations[4] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_da_transformations[5] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_da_transformations[6] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_da_transformations[7] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_ds_transformations[0] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_ds_transformations[1] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_ds_transformations[2] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_ds_transformations[3] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_ds_transformations[4] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_ds_transformations[5] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_ds_transformations[6] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_ds_transformations[7] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_da_ds_with_template[obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_da_ds_with_template[obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_template_convert_object PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_errors_bad_template[obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_errors_bad_template[obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_errors_bad_template_2 PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_object_method[obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_object_method[obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_map_blocks_hlg_layers PASSED [ 46%] xarray/tests/test_dask.py::test_make_meta PASSED [ 46%] xarray/tests/test_dask.py::test_identical_coords_no_computes PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[0-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[0-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[0-obj2] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[0-obj3] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[1-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[1-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[1-obj2] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[1-obj3] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[2-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[2-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[2-obj2] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[2-obj3] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[3-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[3-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[3-obj2] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[3-obj3] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[4-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[4-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[4-obj2] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[4-obj3] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[5-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[5-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[5-obj2] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[5-obj3] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[6-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[6-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[6-obj2] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_on_transform[6-obj3] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_when_data_changes[obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_when_data_changes[obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_when_data_changes[obj2] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_when_data_changes[obj3] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_when_buffer_changes[obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_token_changes_when_buffer_changes[obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_token_identical[obj0-0] PASSED [ 46%] xarray/tests/test_dask.py::test_token_identical[obj0-1] PASSED [ 46%] xarray/tests/test_dask.py::test_token_identical[obj0-2] PASSED [ 46%] xarray/tests/test_dask.py::test_token_identical[obj1-0] PASSED [ 46%] xarray/tests/test_dask.py::test_token_identical[obj1-1] PASSED [ 46%] xarray/tests/test_dask.py::test_token_identical[obj1-2] PASSED [ 46%] xarray/tests/test_dask.py::test_token_identical[obj2-0] PASSED [ 46%] xarray/tests/test_dask.py::test_token_identical[obj2-1] PASSED [ 46%] xarray/tests/test_dask.py::test_token_identical[obj2-2] PASSED [ 46%] xarray/tests/test_dask.py::test_recursive_token PASSED [ 46%] xarray/tests/test_dask.py::test_normalize_token_with_backend PASSED [ 46%] xarray/tests/test_dask.py::test_lazy_array_equiv_variables[broadcast_equals] PASSED [ 46%] xarray/tests/test_dask.py::test_lazy_array_equiv_variables[equals] PASSED [ 46%] xarray/tests/test_dask.py::test_lazy_array_equiv_variables[identical] PASSED [ 46%] xarray/tests/test_dask.py::test_lazy_array_equiv_variables[no_conflicts] PASSED [ 46%] xarray/tests/test_dask.py::test_lazy_array_equiv_merge[broadcast_equals] PASSED [ 46%] xarray/tests/test_dask.py::test_lazy_array_equiv_merge[equals] PASSED [ 46%] xarray/tests/test_dask.py::test_lazy_array_equiv_merge[identical] PASSED [ 46%] xarray/tests/test_dask.py::test_lazy_array_equiv_merge[no_conflicts] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[0-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[0-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[1-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[1-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[2-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[2-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[3-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[3-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[4-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[4-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[5-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[5-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[6-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[6-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[7-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[7-obj1] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[8-obj0] PASSED [ 46%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[8-obj1] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[9-obj0] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[9-obj1] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[10-obj0] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[10-obj1] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[11-obj0] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[11-obj1] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[12-obj0] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[12-obj1] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[13-obj0] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[13-obj1] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[14-obj0] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[14-obj1] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[15-obj0] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[15-obj1] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[16-obj0] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[16-obj1] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[17-obj0] PASSED [ 47%] xarray/tests/test_dask.py::test_transforms_pass_lazy_array_equiv[17-obj1] PASSED [ 47%] xarray/tests/test_dask.py::test_more_transforms_pass_lazy_array_equiv PASSED [ 47%] xarray/tests/test_dask.py::test_optimize PASSED [ 47%] xarray/tests/test_dask.py::test_graph_manipulation PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_repr PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex_long PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_properties PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_data_property PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_indexes PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_get_index PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_get_index_size_zero PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_struct_array_dims PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_name PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_dims PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_sizes PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_encoding PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_constructor PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_constructor_invalid PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_constructor_from_self_described PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_constructor_from_self_described_chunked PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_constructor_from_0d PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_constructor_dask_coords PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_equals_and_identical PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_equals_failures PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_broadcast_equals PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_getitem PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_getitem_dict PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_getitem_coords PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_getitem_dataarray PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_getitem_empty_index PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_setitem PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_setitem_fancy PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_setitem_dataarray PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_contains PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_pickle PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_chunk PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_isel PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_isel_types PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_isel_fancy PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_sel PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_sel_dataarray PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_sel_invalid_slice PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_sel_dataarray_datetime_slice PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_sel_float PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_sel_float_multiindex PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_sel_no_index PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_sel_method PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_sel_drop PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_isel_drop PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_head PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_tail PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_thin PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_loc PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_loc_datetime64_value PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_loc_assign PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_loc_assign_dataarray PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_loc_single_boolean PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_loc_dim_name_collision_with_sel_params PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_selection_multiindex PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_selection_multiindex_remove_unused PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_selection_multiindex_from_level PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_virtual_default_coords PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_virtual_time_components PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_coords PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_coords_to_index PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_coord_coords PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reset_coords PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_assign_coords PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_assign_coords_existing_multiindex PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_coords_alignment PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_set_coords_update_index PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_set_coords_multiindex_level PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_coords_replacement_alignment PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_coords_non_string PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_coords_delitem_delete_indexes PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_coords_delitem_multiindex_level PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_broadcast_like PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reindex_like PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reindex_like_no_index PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reindex_regressions PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reindex_method PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reindex_fill_value[fill_value0] PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reindex_fill_value[2] PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reindex_fill_value[2.0] PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reindex_fill_value[fill_value3] PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reindex_str_dtype[str] PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reindex_str_dtype[bytes] PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_rename PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_rename_dimension_coord_warnings PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_init_value PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_swap_dims PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_expand_dims_error PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_expand_dims PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_expand_dims_with_scalar_coordinate PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_expand_dims_with_greater_dim_size PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_set_index PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reset_index PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reset_index_keep_attrs PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reorder_levels PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_set_xindex PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_dataset_getitem PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_array_interface PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_astype_attrs PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_astype_dtype PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_astype_order PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_astype_subok XFAIL (DataArray cannot be backed yet by a subclasses of np.ndarray) [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_is_null PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_math PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_math_automatic_alignment PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_non_overlapping_dataarrays_return_empty_result PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_empty_dataarrays_return_empty_result PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_inplace_math_basics PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_inplace_math_error PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_inplace_math_automatic_alignment PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_math_name PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_math_with_coords PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_index_math PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_dataset_math PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_stack_unstack PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_stack_unstack_decreasing_coordinate PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_unstack_pandas_consistency PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_stack_nonunique_consistency[1-numpy] PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_stack_nonunique_consistency[1-dask] PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_to_unstacked_dataset_raises_value_error PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_transpose PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_squeeze PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_squeeze_drop PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_drop_coordinates PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_drop_multiindex_level PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_drop_all_multiindex_levels PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_drop_index_labels PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_drop_index_positions PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_drop_indexes PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_dropna PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_where PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_where_lambda PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_where_string PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_cumops PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reduce PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reduce_keepdims PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reduce_keepdims_bottleneck PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reduce_dtype PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_reduce_out PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[None-None-0.25-True] PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[None-None-0.25-False] PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[None-None-0.25-None] PASSED [ 47%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[None-None-q1-True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[None-None-q1-False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[None-None-q1-None] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[None-None-q2-True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[None-None-q2-False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[None-None-q2-None] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[0-x-0.25-True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[0-x-0.25-False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[0-x-0.25-None] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[0-x-q1-True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[0-x-q1-False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[0-x-q1-None] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[0-x-q2-True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[0-x-q2-False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[0-x-q2-None] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis2-dim2-0.25-True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis2-dim2-0.25-False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis2-dim2-0.25-None] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis2-dim2-q1-True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis2-dim2-q1-False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis2-dim2-q1-None] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis2-dim2-q2-True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis2-dim2-q2-False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis2-dim2-q2-None] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis3-dim3-0.25-True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis3-dim3-0.25-False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis3-dim3-0.25-None] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis3-dim3-q1-True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis3-dim3-q1-False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis3-dim3-q1-None] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis3-dim3-q2-True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis3-dim3-q2-False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile[axis3-dim3-q2-None] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile_method[midpoint] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile_method[lower] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile_interpolation_deprecated[midpoint] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_quantile_interpolation_deprecated[lower] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_reduce_keep_attrs PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_assign_attrs PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_propagate_attrs[0] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_propagate_attrs[1] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_propagate_attrs[absolute] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_propagate_attrs[abs] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_fillna PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_align PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_align_dtype PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_align_copy PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_align_override PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_align_override_error[darrays0] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_align_override_error[darrays1] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_align_exclude PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_align_indexes PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_align_without_indexes_exclude PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_align_mixed_indexes PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_align_without_indexes_errors PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_align_str_dtype PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_broadcast_arrays PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_broadcast_arrays_misaligned PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_broadcast_arrays_nocopy PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_broadcast_arrays_exclude PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_broadcast_coordinates PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_pandas PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_dataframe PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_dataframe_multiindex PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_dataframe_0length PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_pandas_name_matches_coordinate PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_and_from_series PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_from_series_multiindex PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_from_series_sparse SKIPPED (requires sparse) [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_from_multiindex_series_sparse SKIPPED (requires sparse) [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_nbytes_does_not_load_data PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_and_from_empty_series PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_series_categorical_index PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_and_from_dict[True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_and_from_dict[False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_and_from_dict_with_time_dim PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_and_from_dict_with_nan_nat PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_dict_with_numpy_attrs PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_masked_array PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_and_from_cdms2_classic SKIPPED (could not import 'cdms2': No module named 'cdms2') [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_and_from_cdms2_sgrid SKIPPED (could not import 'cdms2': No module named 'cdms2') [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_and_from_cdms2_ugrid SKIPPED (could not import 'cdms2': No module named 'cdms2') [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_dataset_whole PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_dataset_split PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_to_dataset_retains_keys PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test__title_for_slice PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test__title_for_slice_truncate PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_dataarray_diff_n1 PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_coordinate_diff PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_shift[2-int--5] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_shift[2-int-0] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_shift[2-int-1] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_shift[2-int-2] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_shift[fill_value1-float--5] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_shift[fill_value1-float-0] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_shift[fill_value1-float-1] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_shift[fill_value1-float-2] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_roll_coords PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_roll_no_coords PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_copy_with_data PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_copy_coords[True-expected_orig0] XFAIL [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_copy_coords[False-expected_orig1] XPASS [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_real_and_imag PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_setattr_raises PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_full_like PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_dot PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_dot_align_coords PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_matmul PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_matmul_align_coords PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_binary_op_propagate_indexes PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_binary_op_join_setting PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_combine_first PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_sortby PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_rank PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_polyfit[True-True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_polyfit[True-False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_polyfit[False-True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_polyfit[False-False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_constant PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_coords PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[None-minimum] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[None-maximum] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[None-mean] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[None-median] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[3-minimum] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[3-maximum] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[3-mean] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[3-median] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[stat_length2-minimum] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[stat_length2-maximum] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[stat_length2-mean] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[stat_length2-median] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[stat_length3-minimum] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[stat_length3-maximum] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[stat_length3-mean] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_stat_length[stat_length3-median] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_linear_ramp[None] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_linear_ramp[3] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_linear_ramp[end_values2] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_linear_ramp[end_values3] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_reflect[None-reflect] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_reflect[None-symmetric] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_reflect[even-reflect] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_reflect[even-symmetric] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_reflect[odd-reflect] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_reflect[odd-symmetric] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_keep_attrs[default] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_keep_attrs[False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_pad_keep_attrs[True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_query[numpy-python-pandas] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_query[numpy-python-python] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_query[numpy-None-pandas] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_query[numpy-None-python] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_query[numpy-numexpr-pandas] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_query[numpy-numexpr-python] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_query[dask-python-pandas] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_query[dask-python-python] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_query[dask-None-pandas] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_query[dask-None-python] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_query[dask-numexpr-pandas] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_query[dask-numexpr-python] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_curvefit[True] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_curvefit[False] PASSED [ 48%] xarray/tests/test_dataarray.py::TestDataArray::test_curvefit_helpers PASSED [ 48%] xarray/tests/test_dataarray.py::TestReduce1D::test_min[int] PASSED [ 48%] xarray/tests/test_dataarray.py::TestReduce1D::test_min[float] PASSED [ 48%] xarray/tests/test_dataarray.py::TestReduce1D::test_min[nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_min[obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_min[allnan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_min[datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_max[int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_max[float] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_max[nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_max[obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_max[allnan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_max[datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmin[int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmin[float] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmin[nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmin[obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmin[allnan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmin[datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmax[int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmax[float] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmax[nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmax[obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmax[allnan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmax[datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmin[True-int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmin[True-float] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmin[True-nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmin[True-obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmin[True-allnan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmin[True-datetime] XFAIL (dask operation 'argmin' breaks when dtype is datetime64 (M)) [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmin[False-int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmin[False-float] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmin[False-nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmin[False-obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmin[False-allnan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmin[False-datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmax[True-int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmax[True-float] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmax[True-nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmax[True-obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmax[True-allnan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmax[True-datetime] XFAIL (dask operation 'argmax' breaks when dtype is datetime64 (M)) [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmax[False-int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmax[False-float] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmax[False-nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmax[False-obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmax[False-allnan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_idxmax[False-datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmin_dim[int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmin_dim[float] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmin_dim[nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmin_dim[obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmin_dim[allnan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmin_dim[datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmax_dim[int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmax_dim[float] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmax_dim[nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmax_dim[obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmax_dim[allnan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce1D::test_argmax_dim[datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_min[int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_min[nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_min[obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_min[datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_max[int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_max[nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_max[obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_max[datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmin[int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmin[nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmin[obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmin[datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmax[int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmax[nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmax[obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmax[datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmin[dask-int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmin[dask-nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmin[dask-obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmin[dask-datetime] XFAIL (dask operation 'argmin' breaks when dtype is datetime64 (M)) [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmin[nodask-int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmin[nodask-nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmin[nodask-obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmin[nodask-datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmax[dask-int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmax[dask-nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmax[dask-obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmax[dask-datetime] XFAIL (dask operation 'argmax' breaks when dtype is datetime64 (M)) [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmax[nodask-int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmax[nodask-nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmax[nodask-obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_idxmax[nodask-datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmin_dim[int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmin_dim[nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmin_dim[obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmin_dim[datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmax_dim[int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmax_dim[nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmax_dim[obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce2D::test_argmax_dim[datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce3D::test_argmin_dim[int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce3D::test_argmin_dim[nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce3D::test_argmin_dim[obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce3D::test_argmin_dim[datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce3D::test_argmax_dim[int] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce3D::test_argmax_dim[nan] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce3D::test_argmax_dim[obj] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduce3D::test_argmax_dim[datetime] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduceND::test_idxminmax_dask[3-idxmin] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduceND::test_idxminmax_dask[3-idxmax] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduceND::test_idxminmax_dask[5-idxmin] PASSED [ 49%] xarray/tests/test_dataarray.py::TestReduceND::test_idxminmax_dask[5-idxmax] PASSED [ 49%] xarray/tests/test_dataarray.py::test_isin[numpy-repeating_ints] PASSED [ 49%] xarray/tests/test_dataarray.py::test_isin[dask-repeating_ints] PASSED [ 49%] xarray/tests/test_dataarray.py::test_raise_no_warning_for_nan_in_binary_ops PASSED [ 49%] xarray/tests/test_dataarray.py::test_no_warning_for_all_nan PASSED [ 49%] xarray/tests/test_dataarray.py::test_name_in_masking PASSED [ 49%] xarray/tests/test_dataarray.py::TestIrisConversion::test_to_and_from_iris SKIPPED (requires iris) [ 49%] xarray/tests/test_dataarray.py::TestIrisConversion::test_to_and_from_iris_dask SKIPPED (requires iris) [ 49%] xarray/tests/test_dataarray.py::TestIrisConversion::test_da_name_from_cube[var_name-height-Height-var_name-attrs0] SKIPPED (requires iris) [ 49%] xarray/tests/test_dataarray.py::TestIrisConversion::test_da_name_from_cube[None-height-Height-height-attrs1] SKIPPED (requires iris) [ 49%] xarray/tests/test_dataarray.py::TestIrisConversion::test_da_name_from_cube[None-None-Height-Height-attrs2] SKIPPED (requires iris) [ 49%] xarray/tests/test_dataarray.py::TestIrisConversion::test_da_name_from_cube[None-None-None-None-attrs3] SKIPPED (requires iris) [ 49%] xarray/tests/test_dataarray.py::TestIrisConversion::test_da_coord_name_from_cube[var_name-height-Height-var_name-attrs0] SKIPPED (requires iris) [ 49%] xarray/tests/test_dataarray.py::TestIrisConversion::test_da_coord_name_from_cube[None-height-Height-height-attrs1] SKIPPED (requires iris) [ 49%] xarray/tests/test_dataarray.py::TestIrisConversion::test_da_coord_name_from_cube[None-None-Height-Height-attrs2] SKIPPED (requires iris) [ 49%] xarray/tests/test_dataarray.py::TestIrisConversion::test_da_coord_name_from_cube[None-None-None-unknown-attrs3] SKIPPED (requires iris) [ 49%] xarray/tests/test_dataarray.py::TestIrisConversion::test_prevent_duplicate_coord_names SKIPPED (requires iris) [ 49%] xarray/tests/test_dataarray.py::TestIrisConversion::test_fallback_to_iris_AuxCoord[coord_values0] SKIPPED (requires iris) [ 49%] xarray/tests/test_dataarray.py::TestIrisConversion::test_fallback_to_iris_AuxCoord[coord_values1] SKIPPED (requires iris) [ 49%] xarray/tests/test_dataarray.py::test_no_dict PASSED [ 49%] xarray/tests/test_dataarray.py::test_subclass_slots PASSED [ 49%] xarray/tests/test_dataarray.py::test_weakref PASSED [ 49%] xarray/tests/test_dataarray.py::test_delete_coords PASSED [ 49%] xarray/tests/test_dataarray.py::test_deepcopy_nested_attrs PASSED [ 49%] xarray/tests/test_dataarray.py::test_deepcopy_obj_array PASSED [ 49%] xarray/tests/test_dataarray.py::test_deepcopy_recursive PASSED [ 49%] xarray/tests/test_dataarray.py::test_clip[1-numpy] PASSED [ 49%] xarray/tests/test_dataarray.py::test_clip[1-dask] PASSED [ 49%] xarray/tests/test_dataarray.py::TestDropDuplicates::test_drop_duplicates_1d[first] PASSED [ 49%] xarray/tests/test_dataarray.py::TestDropDuplicates::test_drop_duplicates_1d[last] PASSED [ 49%] xarray/tests/test_dataarray.py::TestDropDuplicates::test_drop_duplicates_1d[False] PASSED [ 49%] xarray/tests/test_dataarray.py::TestDropDuplicates::test_drop_duplicates_2d PASSED [ 49%] xarray/tests/test_dataarray.py::TestNumpyCoercion::test_from_numpy PASSED [ 49%] xarray/tests/test_dataarray.py::TestNumpyCoercion::test_from_dask PASSED [ 49%] xarray/tests/test_dataarray.py::TestNumpyCoercion::test_from_pint PASSED [ 49%] xarray/tests/test_dataarray.py::TestNumpyCoercion::test_from_sparse SKIPPED (requires sparse) [ 49%] xarray/tests/test_dataarray.py::TestNumpyCoercion::test_from_cupy SKIPPED (requires cupy) [ 49%] xarray/tests/test_dataarray.py::TestNumpyCoercion::test_from_pint_wrapping_dask PASSED [ 49%] xarray/tests/test_dataarray.py::TestStackEllipsis::test_result_as_expected PASSED [ 49%] xarray/tests/test_dataarray.py::TestStackEllipsis::test_error_on_ellipsis_without_list PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_repr PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_repr_multiindex PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_repr_period_index PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_unicode_data PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_repr_nep18 PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_info PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_constructor PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_constructor_invalid_dims PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_constructor_1d PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_constructor_0d PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_constructor_auto_align PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_constructor_pandas_sequence PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_constructor_pandas_single PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_constructor_compat PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_constructor_with_coords PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_properties PASSED [ 49%] xarray/tests/test_dataset.py::TestDataset::test_asarray PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_get_index PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_attr_access PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_variable PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_modify_inplace PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_coords_properties PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_coords_modify PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_update_index PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_coords_setitem_with_new_dimension PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_coords_setitem_multiindex PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_coords_set PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_coords_to_dataset PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_coords_merge PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_coords_merge_mismatched_shape PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_data_vars_properties PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_equals_and_identical PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_equals_failures PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_broadcast_equals PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_attrs PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_chunks_does_not_load_data PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_chunk PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_dask_is_lazy PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_isel PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_isel_fancy PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_isel_dataarray PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_isel_fancy_convert_index_variable PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_sel PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_sel_dataarray PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_sel_dataarray_mindex PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_sel_categorical PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_sel_categorical_error PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_categorical_index PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_categorical_reindex PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_categorical_multiindex PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_sel_drop PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_sel_drop_mindex PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_isel_drop PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_head PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_tail PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_thin PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_sel_fancy PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_sel_method PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_loc PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_selection_multiindex PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_broadcast_like PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_to_pandas PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_like PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_attrs_encoding PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_warning PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_variables_copied PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_method PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_fill_value[fill_value0] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_fill_value[2] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_fill_value[2.0] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_fill_value[fill_value3] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_like_fill_value[fill_value0] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_like_fill_value[2] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_like_fill_value[2.0] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_like_fill_value[fill_value3] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_str_dtype[str] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reindex_str_dtype[bytes] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_align_fill_value[fill_value0] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_align_fill_value[2] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_align_fill_value[2.0] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_align_fill_value[fill_value3] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_align PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_align_exact PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_align_override PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_align_exclude PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_align_nocopy PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_align_indexes PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_align_non_unique PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_align_str_dtype PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_align_index_var_attrs[left] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_align_index_var_attrs[override] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_broadcast PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_broadcast_nocopy PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_broadcast_exclude PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_broadcast_misaligned PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_broadcast_multi_index PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_variable_indexing PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_drop_variables PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_drop_multiindex_level PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_drop_index_labels PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_drop_labels_by_keyword PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_drop_labels_by_position PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_drop_indexes PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_drop_dims PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_copy PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_copy_with_data PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_copy_coords[True-expected_orig0] XFAIL [ 50%] xarray/tests/test_dataset.py::TestDataset::test_copy_coords[False-expected_orig1] XPASS [ 50%] xarray/tests/test_dataset.py::TestDataset::test_copy_with_data_errors PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_rename PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_rename_old_name PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_rename_same_name PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_rename_dims PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_rename_vars PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_rename_dimension_coord PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_rename_dimension_coord_warnings PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_rename_multiindex PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_rename_perserve_attrs_encoding PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_rename_does_not_change_CFTimeIndex_type PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_rename_does_not_change_DatetimeIndex_type PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_swap_dims PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_expand_dims_error PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_expand_dims_int PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_expand_dims_coords PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_expand_dims_existing_scalar_coord PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_isel_expand_dims_roundtrip PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_expand_dims_mixed_int_and_coords PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_expand_dims_kwargs_python36plus PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_set_index PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_set_index_deindexed_coords PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reset_index PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reset_index_keep_attrs PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reset_index_drop_dims PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reset_index_drop_convert[foo-False-dropped0-converted0-renamed0] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reset_index_drop_convert[foo-True-dropped1-converted1-renamed1] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reset_index_drop_convert[x-False-dropped2-converted2-renamed2] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reset_index_drop_convert[x-True-dropped3-converted3-renamed3] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reset_index_drop_convert[arg4-False-dropped4-converted4-renamed4] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reset_index_drop_convert[arg5-True-dropped5-converted5-renamed5] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reset_index_drop_convert[arg6-False-dropped6-converted6-renamed6] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reset_index_drop_convert[arg7-True-dropped7-converted7-renamed7] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_reorder_levels PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_set_xindex PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_set_xindex_options PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_stack PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_stack_create_index[True-expected_keys0] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_stack_create_index[False-expected_keys1] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_stack_create_index[None-expected_keys2] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_stack_multi_index PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_stack_non_dim_coords PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_unstack PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_unstack_errors PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_unstack_fill_value PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_unstack_sparse SKIPPED (requires sparse) [ 50%] xarray/tests/test_dataset.py::TestDataset::test_stack_unstack_fast PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_stack_unstack_slow PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_to_stacked_array_invalid_sample_dims PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_to_stacked_array_name PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_to_stacked_array_dtype_dims PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_to_stacked_array_to_unstacked_dataset PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_to_stacked_array_to_unstacked_dataset_different_dimension PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_update PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_update_overwrite_coords PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_update_multiindex_level PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_update_auto_align PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_getitem PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_getitem_hashable PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_getitem_multiple_dtype PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_virtual_variables_default_coords PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_virtual_variables_time PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_virtual_variable_same_name PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_time_season PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_slice_virtual_variable PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_setitem PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_setitem_pandas PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_setitem_auto_align PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_setitem_dimension_override PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_setitem_with_coords PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_setitem_align_new_indexes PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_setitem_str_dtype[str] PASSED [ 50%] xarray/tests/test_dataset.py::TestDataset::test_setitem_str_dtype[bytes] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_setitem_using_list PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_setitem_using_list_errors[var_list0-data0-Different lengths] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_setitem_using_list_errors[var_list1-data1-Empty list of variables] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_setitem_using_list_errors[var_list2-data2-assign single DataArray] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_assign PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_assign_coords PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_assign_attrs PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_assign_multiindex_level PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_assign_coords_existing_multiindex PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_assign_all_multiindex_coords PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_assign_coords_custom_index_side_effect PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_merge_multiindex_level PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_setitem_original_non_unique_index PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_setitem_both_non_unique_index PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_setitem_multiindex_level PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_delitem PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_delitem_multiindex_level PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_squeeze PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_squeeze_drop PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_to_array PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_to_and_from_dataframe PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_from_dataframe_categorical PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_from_dataframe_sparse SKIPPED (requires sparse) [ 51%] xarray/tests/test_dataset.py::TestDataset::test_to_and_from_empty_dataframe PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_from_dataframe_multiindex PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_from_dataframe_unsorted_levels PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_from_dataframe_non_unique_columns PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_convert_dataframe_with_many_types_and_multiindex PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_to_and_from_dict PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_to_and_from_dict_with_time_dim PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_to_and_from_dict_with_nan_nat PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_to_dict_with_numpy_attrs PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_pickle PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_lazy_load PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dropna PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_fillna PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_propagate_attrs[0] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_propagate_attrs[1] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_propagate_attrs[absolute] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_propagate_attrs[abs] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_where PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_where_other PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_where_drop PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_where_drop_empty PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_where_drop_no_indexes PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_coords PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_mean_uint_dtype PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_bad_dim PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_cumsum PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_cumsum_test_dims[cumsum-dim1-expected0] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_cumsum_test_dims[cumsum-dim2-expected1] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_cumsum_test_dims[cumsum-dim3-expected2] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_cumsum_test_dims[cumsum-time-expected3] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_cumsum_test_dims[cumprod-dim1-expected0] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_cumsum_test_dims[cumprod-dim2-expected1] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_cumsum_test_dims[cumprod-dim3-expected2] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_cumsum_test_dims[cumprod-time-expected3] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_non_numeric PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_strings PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_dtypes PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_keep_attrs PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_argmin PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_scalars PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_only_one_axis PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_no_axis PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_reduce_keepdims PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile[0.25-True] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile[0.25-False] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile[0.25-None] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile[q1-True] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile[q1-False] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile[q1-None] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile[q2-True] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile[q2-False] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile[q2-None] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile_skipna[True] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile_skipna[False] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile_method[midpoint] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile_method[lower] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile_interpolation_deprecated[midpoint] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_quantile_interpolation_deprecated[lower] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_rank PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_rank_use_bottleneck PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_count PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_map PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_apply_pending_deprecated_map PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dataset_number_math PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_unary_ops PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dataset_array_math PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dataset_dataset_math PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dataset_math_auto_align PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dataset_math_errors PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dataset_transpose PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dataset_ellipsis_transpose_different_ordered_vars PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dataset_retains_period_index_on_transpose PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dataset_diff_n1_simple PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dataset_diff_n1_label PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dataset_diff_n1 PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dataset_diff_n2 PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dataset_diff_exception_n_neg PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_dataset_diff_exception_label_str PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_shift[fill_value0] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_shift[2] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_shift[2.0] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_shift[fill_value3] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_roll_coords PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_roll_no_coords PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_roll_multidim PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_real_and_imag PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_setattr_raises PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_filter_by_attrs PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_binary_op_propagate_indexes PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_binary_op_join_setting PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_full_like PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_combine_first PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_sortby PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_attribute_access PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_ipython_key_completion PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_polyfit_output PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_polyfit_warnings PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_pad PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_pad_keep_attrs[default] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_pad_keep_attrs[False] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_pad_keep_attrs[True] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_astype_attrs PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_query[numpy-python-pandas] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_query[numpy-python-python] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_query[numpy-None-pandas] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_query[numpy-None-python] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_query[numpy-numexpr-pandas] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_query[numpy-numexpr-python] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_query[dask-python-pandas] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_query[dask-python-python] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_query[dask-None-pandas] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_query[dask-None-python] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_query[dask-numexpr-pandas] PASSED [ 51%] xarray/tests/test_dataset.py::TestDataset::test_query[dask-numexpr-python] PASSED [ 51%] xarray/tests/test_dataset.py::test_isin[numpy-test_elements0] PASSED [ 51%] xarray/tests/test_dataset.py::test_isin[numpy-test_elements1] PASSED [ 51%] xarray/tests/test_dataset.py::test_isin[numpy-test_elements2] PASSED [ 51%] xarray/tests/test_dataset.py::test_isin[dask-test_elements0] PASSED [ 51%] xarray/tests/test_dataset.py::test_isin[dask-test_elements1] PASSED [ 51%] xarray/tests/test_dataset.py::test_isin[dask-test_elements2] PASSED [ 51%] xarray/tests/test_dataset.py::test_isin_dataset PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords0-unaligned_coords0] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords0-unaligned_coords1] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords0-unaligned_coords2] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords0-unaligned_coords3] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords0-unaligned_coords4] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords0-unaligned_coords5] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords0-unaligned_coords6] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords0-unaligned_coords7] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords0-unaligned_coords8] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords0-unaligned_coords9] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords1-unaligned_coords0] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords1-unaligned_coords1] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords1-unaligned_coords2] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords1-unaligned_coords3] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords1-unaligned_coords4] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords1-unaligned_coords5] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords1-unaligned_coords6] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords1-unaligned_coords7] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords1-unaligned_coords8] PASSED [ 51%] xarray/tests/test_dataset.py::test_dataset_constructor_aligns_to_explicit_coords[coords1-unaligned_coords9] PASSED [ 51%] xarray/tests/test_dataset.py::test_error_message_on_set_supplied PASSED [ 52%] xarray/tests/test_dataset.py::test_constructor_raises_with_invalid_coords[unaligned_coords0] PASSED [ 52%] xarray/tests/test_dataset.py::test_dir_expected_attrs[numpy-3] PASSED [ 52%] xarray/tests/test_dataset.py::test_dir_expected_attrs[dask-3] PASSED [ 52%] xarray/tests/test_dataset.py::test_dir_non_string[1-numpy] PASSED [ 52%] xarray/tests/test_dataset.py::test_dir_non_string[1-dask] PASSED [ 52%] xarray/tests/test_dataset.py::test_dir_unicode[1-numpy] PASSED [ 52%] xarray/tests/test_dataset.py::test_dir_unicode[1-dask] PASSED [ 52%] xarray/tests/test_dataset.py::test_raise_no_warning_for_nan_in_binary_ops PASSED [ 52%] xarray/tests/test_dataset.py::test_raise_no_warning_assert_close[numpy-2] PASSED [ 52%] xarray/tests/test_dataset.py::test_raise_no_warning_assert_close[dask-2] PASSED [ 52%] xarray/tests/test_dataset.py::test_differentiate[1-True] PASSED [ 52%] xarray/tests/test_dataset.py::test_differentiate[1-False] PASSED [ 52%] xarray/tests/test_dataset.py::test_differentiate[2-True] PASSED [ 52%] xarray/tests/test_dataset.py::test_differentiate[2-False] PASSED [ 52%] xarray/tests/test_dataset.py::test_differentiate_datetime[True] PASSED [ 52%] xarray/tests/test_dataset.py::test_differentiate_datetime[False] PASSED [ 52%] xarray/tests/test_dataset.py::test_differentiate_cftime[True] PASSED [ 52%] xarray/tests/test_dataset.py::test_differentiate_cftime[False] PASSED [ 52%] xarray/tests/test_dataset.py::test_integrate[True] PASSED [ 52%] xarray/tests/test_dataset.py::test_integrate[False] PASSED [ 52%] xarray/tests/test_dataset.py::test_cumulative_integrate[True] PASSED [ 52%] xarray/tests/test_dataset.py::test_cumulative_integrate[False] PASSED [ 52%] xarray/tests/test_dataset.py::test_trapz_datetime[np-True] PASSED [ 52%] xarray/tests/test_dataset.py::test_trapz_datetime[np-False] PASSED [ 52%] xarray/tests/test_dataset.py::test_trapz_datetime[cftime-True] PASSED [ 52%] xarray/tests/test_dataset.py::test_trapz_datetime[cftime-False] PASSED [ 52%] xarray/tests/test_dataset.py::test_no_dict PASSED [ 52%] xarray/tests/test_dataset.py::test_subclass_slots PASSED [ 52%] xarray/tests/test_dataset.py::test_weakref PASSED [ 52%] xarray/tests/test_dataset.py::test_deepcopy_obj_array PASSED [ 52%] xarray/tests/test_dataset.py::test_deepcopy_recursive PASSED [ 52%] xarray/tests/test_dataset.py::test_clip[1-numpy] PASSED [ 52%] xarray/tests/test_dataset.py::test_clip[1-dask] PASSED [ 52%] xarray/tests/test_dataset.py::TestDropDuplicates::test_drop_duplicates_1d[first] PASSED [ 52%] xarray/tests/test_dataset.py::TestDropDuplicates::test_drop_duplicates_1d[last] PASSED [ 52%] xarray/tests/test_dataset.py::TestDropDuplicates::test_drop_duplicates_1d[False] PASSED [ 52%] xarray/tests/test_dataset.py::TestNumpyCoercion::test_from_numpy PASSED [ 52%] xarray/tests/test_dataset.py::TestNumpyCoercion::test_from_dask PASSED [ 52%] xarray/tests/test_dataset.py::TestNumpyCoercion::test_from_pint PASSED [ 52%] xarray/tests/test_dataset.py::TestNumpyCoercion::test_from_sparse SKIPPED (requires sparse) [ 52%] xarray/tests/test_dataset.py::TestNumpyCoercion::test_from_cupy SKIPPED (requires cupy) [ 52%] xarray/tests/test_dataset.py::TestNumpyCoercion::test_from_pint_wrapping_dask PASSED [ 52%] xarray/tests/test_dataset.py::test_string_keys_typing PASSED [ 52%] xarray/tests/test_dataset.py::test_transpose_error PASSED [ 52%] xarray/tests/test_deprecation_helpers.py::test_deprecate_positional_args_warns_for_function PASSED [ 52%] xarray/tests/test_deprecation_helpers.py::test_deprecate_positional_args_warns_for_class PASSED [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_netcdf_roundtrip[netcdf4-NETCDF3_CLASSIC] PASSED [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_netcdf_roundtrip[netcdf4-NETCDF4_CLASSIC] PASSED [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_netcdf_roundtrip[netcdf4-NETCDF4] PASSED [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_netcdf_roundtrip[h5netcdf-NETCDF4] SKIPPED (engine not available) [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_netcdf_roundtrip[scipy-NETCDF3_64BIT] PASSED [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_write_netcdf_with_dimensionless_variables PASSED [ 52%] xarray/tests/test_distributed.py::test_open_mfdataset_can_open_files_with_cftime_index PASSED [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_read_netcdf_integration_test[netcdf4-NETCDF3_CLASSIC] PASSED [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_read_netcdf_integration_test[netcdf4-NETCDF4_CLASSIC] PASSED [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_read_netcdf_integration_test[netcdf4-NETCDF4] PASSED [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_read_netcdf_integration_test[h5netcdf-NETCDF4] SKIPPED (engine not available) [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_read_netcdf_integration_test[scipy-NETCDF3_64BIT] PASSED [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_zarr_integration_test[True-True] SKIPPED (requires zarr) [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_zarr_integration_test[True-False] SKIPPED (requires zarr) [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_zarr_integration_test[False-True] SKIPPED (requires zarr) [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_zarr_integration_test[False-False] SKIPPED (requires zarr) [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_rasterio_integration_test SKIPPED (requires rasterio) [ 52%] xarray/tests/test_distributed.py::test_dask_distributed_cfgrib_integration_test SKIPPED (requires cfgrib) [ 52%] xarray/tests/test_distributed.py::test_async PASSED [ 52%] xarray/tests/test_distributed.py::test_hdf5_lock PASSED [ 52%] xarray/tests/test_dtypes.py::test_result_type[args0-bool] PASSED [ 52%] xarray/tests/test_dtypes.py::test_result_type[args1-object_] PASSED [ 52%] xarray/tests/test_dtypes.py::test_result_type[args2-float64] PASSED [ 52%] xarray/tests/test_dtypes.py::test_result_type[args3-object_] PASSED [ 52%] xarray/tests/test_dtypes.py::test_result_type[args4-object_] PASSED [ 52%] xarray/tests/test_dtypes.py::test_result_type[args5-str_] PASSED [ 52%] xarray/tests/test_dtypes.py::test_result_type[args6-object_] PASSED [ 52%] xarray/tests/test_dtypes.py::test_result_type_scalar PASSED [ 52%] xarray/tests/test_dtypes.py::test_result_type_dask_array PASSED [ 52%] xarray/tests/test_dtypes.py::test_inf[1.0] PASSED [ 52%] xarray/tests/test_dtypes.py::test_inf[inf] PASSED [ 52%] xarray/tests/test_dtypes.py::test_inf[ab] PASSED [ 52%] xarray/tests/test_dtypes.py::test_inf[(1+1j)] PASSED [ 52%] xarray/tests/test_dtypes.py::test_inf[True] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[a-expected0] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[b-expected1] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[B-expected2] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[c-expected3] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[D-expected4] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[d-expected5] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[e-expected6] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[F-expected7] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[f-expected8] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[h-expected9] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[H-expected10] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[i-expected11] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[I-expected12] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[l-expected13] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[L-expected14] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[m-expected15] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[M-expected16] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[O-expected17] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[p-expected18] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[P-expected19] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[q-expected20] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[Q-expected21] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[S-expected22] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[U-expected23] PASSED [ 52%] xarray/tests/test_dtypes.py::test_maybe_promote[V-expected24] PASSED [ 52%] xarray/tests/test_dtypes.py::test_nat_types_membership PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestOps::test_first PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestOps::test_last PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestOps::test_count PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestOps::test_where_type_promotion PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestOps::test_stack_type_promotion PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestOps::test_concatenate_type_promotion PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestOps::test_all_nan_arrays PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_cumsum_1d PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_cumsum_2d PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_cumprod_2d PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestArrayNotNullEquiv::test_equal[arr10-arr20] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestArrayNotNullEquiv::test_equal[arr11-arr21] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestArrayNotNullEquiv::test_equal[arr12-arr22] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestArrayNotNullEquiv::test_some_not_equal PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestArrayNotNullEquiv::test_wrong_shape PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestArrayNotNullEquiv::test_types[val10-val20-val30-null0] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestArrayNotNullEquiv::test_types[1.0-2.0-3.0-nan] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestArrayNotNullEquiv::test_types[foo-bar-baz-None] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::TestArrayNotNullEquiv::test_types[foo-bar-baz-nan] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_datetime_mean[False] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_datetime_mean[True] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_cftime_datetime_mean[False] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_cftime_datetime_mean[True] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_mean_over_non_time_dim_of_dataset_with_dask_backed_cftime_data PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_cftime_datetime_mean_long_time_period PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_empty_axis_dtype PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-False-float-1] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-False-float-2] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-False-int-1] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-False-int-2] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-False-float32-1] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-False-float32-2] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-False-bool_-1] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-False-bool_-2] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-True-float-1] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-True-float-2] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-True-int-1] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-True-int-2] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-True-float32-1] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-True-float32-2] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-True-bool_-1] SKIPPED (dask does not compute object-typed array) [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-sum-True-bool_-2] SKIPPED (dask does not compute object-typed array) [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-False-float-1] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-False-float-2] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-False-int-1] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-False-int-2] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-False-float32-1] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-False-float32-2] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-False-bool_-1] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-False-bool_-2] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-True-float-1] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-True-float-2] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-True-int-1] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-True-int-2] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-True-float32-1] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-True-float32-2] PASSED [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-True-bool_-1] SKIPPED (dask does not compute object-typed array) [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-min-True-bool_-2] SKIPPED (dask does not compute object-typed array) [ 52%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-False-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-False-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-False-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-False-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-False-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-False-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-False-bool_-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-False-bool_-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-True-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-True-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-True-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-True-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-True-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-True-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-True-bool_-1] SKIPPED (dask does not compute object-typed array) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-max-True-bool_-2] SKIPPED (dask does not compute object-typed array) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-False-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-False-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-False-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-False-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-False-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-False-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-False-bool_-1] SKIPPED (numpy does not support this) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-False-bool_-2] SKIPPED (numpy does not support this) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-True-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-True-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-True-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-True-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-True-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-True-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-True-bool_-1] SKIPPED (numpy does not support this) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-mean-True-bool_-2] SKIPPED (numpy does not support this) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-False-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-False-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-False-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-False-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-False-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-False-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-False-bool_-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-False-bool_-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-True-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-True-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-True-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-True-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-True-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-True-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-True-bool_-1] SKIPPED (dask does not compute object-typed array) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-False-var-True-bool_-2] SKIPPED (dask does not compute object-typed array) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-False-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-False-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-False-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-False-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-False-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-False-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-False-bool_-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-False-bool_-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-True-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-True-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-True-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-True-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-True-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-True-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-True-bool_-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-sum-True-bool_-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-False-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-False-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-False-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-False-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-False-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-False-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-False-bool_-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-False-bool_-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-True-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-True-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-True-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-True-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-True-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-True-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-True-bool_-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-min-True-bool_-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-False-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-False-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-False-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-False-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-False-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-False-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-False-bool_-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-False-bool_-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-True-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-True-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-True-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-True-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-True-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-True-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-True-bool_-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-max-True-bool_-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-False-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-False-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-False-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-False-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-False-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-False-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-False-bool_-1] SKIPPED (numpy does not support this) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-False-bool_-2] SKIPPED (numpy does not support this) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-True-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-True-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-True-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-True-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-True-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-True-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-True-bool_-1] SKIPPED (numpy does not support this) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-mean-True-bool_-2] SKIPPED (numpy does not support this) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-False-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-False-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-False-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-False-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-False-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-False-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-False-bool_-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-False-bool_-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-True-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-True-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-True-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-True-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-True-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-True-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-True-bool_-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[None-True-var-True-bool_-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-False-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-False-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-False-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-False-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-False-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-False-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-False-bool_-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-False-bool_-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-True-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-True-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-True-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-True-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-True-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-True-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-True-bool_-1] SKIPPED (dask does not compute object-typed array) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-sum-True-bool_-2] SKIPPED (dask does not compute object-typed array) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-False-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-False-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-False-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-False-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-False-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-False-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-False-bool_-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-False-bool_-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-True-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-True-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-True-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-True-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-True-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-True-float32-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-True-bool_-1] SKIPPED (dask does not compute object-typed array) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-min-True-bool_-2] SKIPPED (dask does not compute object-typed array) [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-False-float-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-False-float-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-False-int-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-False-int-2] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-False-float32-1] PASSED [ 53%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-False-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-False-bool_-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-False-bool_-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-True-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-True-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-True-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-True-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-True-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-True-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-True-bool_-1] SKIPPED (dask does not compute object-typed array) [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-max-True-bool_-2] SKIPPED (dask does not compute object-typed array) [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-False-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-False-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-False-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-False-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-False-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-False-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-False-bool_-1] SKIPPED (numpy does not support this) [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-False-bool_-2] SKIPPED (numpy does not support this) [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-True-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-True-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-True-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-True-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-True-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-True-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-True-bool_-1] SKIPPED (numpy does not support this) [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-mean-True-bool_-2] SKIPPED (numpy does not support this) [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-False-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-False-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-False-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-False-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-False-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-False-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-False-bool_-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-False-bool_-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-True-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-True-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-True-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-True-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-True-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-True-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-True-bool_-1] SKIPPED (dask does not compute object-typed array) [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-False-var-True-bool_-2] SKIPPED (dask does not compute object-typed array) [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-False-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-False-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-False-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-False-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-False-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-False-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-False-bool_-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-False-bool_-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-True-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-True-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-True-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-True-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-True-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-True-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-True-bool_-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-sum-True-bool_-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-False-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-False-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-False-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-False-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-False-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-False-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-False-bool_-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-False-bool_-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-True-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-True-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-True-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-True-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-True-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-True-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-True-bool_-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-min-True-bool_-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-False-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-False-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-False-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-False-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-False-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-False-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-False-bool_-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-False-bool_-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-True-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-True-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-True-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-True-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-True-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-True-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-True-bool_-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-max-True-bool_-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-False-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-False-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-False-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-False-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-False-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-False-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-False-bool_-1] SKIPPED (numpy does not support this) [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-False-bool_-2] SKIPPED (numpy does not support this) [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-True-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-True-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-True-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-True-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-True-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-True-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-True-bool_-1] SKIPPED (numpy does not support this) [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-mean-True-bool_-2] SKIPPED (numpy does not support this) [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-False-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-False-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-False-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-False-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-False-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-False-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-False-bool_-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-False-bool_-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-True-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-True-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-True-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-True-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-True-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-True-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-True-bool_-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_reduce[x-True-var-True-bool_-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-True-float-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-True-float-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-True-int-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-True-int-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-True-float32-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-True-float32-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-True-bool_-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-True-bool_-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-True-str-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-True-str-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-False-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-False-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-False-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-False-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-False-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-False-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-False-bool_-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-False-bool_-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-False-str-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-False-False-str-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-True-float-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-True-float-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-True-int-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-True-int-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-True-float32-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-True-float32-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-True-bool_-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-True-bool_-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-True-str-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-True-str-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-False-float-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-False-float-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-False-int-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-False-int-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-False-float32-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-False-float32-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-False-bool_-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-False-bool_-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-False-str-1] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-min-True-False-str-2] PASSED [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-True-float-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-True-float-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-True-int-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 54%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-True-int-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-True-float32-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-True-float32-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-True-bool_-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-True-bool_-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-True-str-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-True-str-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-False-float-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-False-float-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-False-int-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-False-int-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-False-float32-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-False-float32-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-False-bool_-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-False-bool_-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-False-str-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-False-False-str-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-True-float-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-True-float-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-True-int-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-True-int-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-True-float32-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-True-float32-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-True-bool_-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-True-bool_-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-True-str-1] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-True-str-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-False-float-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-False-float-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-False-int-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-False-int-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-False-float32-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-False-float32-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-False-bool_-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-False-bool_-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-False-str-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-False-max-True-False-str-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-True-float-1] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-True-float-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-True-int-1] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-True-int-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-True-float32-1] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-True-float32-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-True-bool_-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-True-bool_-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-True-str-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-True-str-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-False-float-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-False-float-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-False-int-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-False-int-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-False-float32-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-False-float32-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-False-bool_-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-False-bool_-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-False-str-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-False-False-str-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-True-float-1] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-True-float-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-True-int-1] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-True-int-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-True-float32-1] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-True-float32-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-True-bool_-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-True-bool_-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-True-str-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-True-str-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-False-float-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-False-float-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-False-int-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-False-int-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-False-float32-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-False-float32-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-False-bool_-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-False-bool_-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-False-str-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-min-True-False-str-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-True-float-1] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-True-float-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-True-int-1] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-True-int-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-True-float32-1] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-True-float32-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-True-bool_-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-True-bool_-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-True-str-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-True-str-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-False-float-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-False-float-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-False-int-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-False-int-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-False-float32-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-False-float32-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-False-bool_-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-False-bool_-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-False-str-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-False-False-str-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-True-float-1] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-True-float-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-True-int-1] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-True-int-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-True-float32-1] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-True-float32-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-True-bool_-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-True-bool_-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-True-str-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-True-str-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-False-float-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-False-float-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-False-int-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-False-int-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-False-float32-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-False-float32-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-False-bool_-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-False-bool_-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-False-str-1] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[x-True-max-True-False-str-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-True-float-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-True-float-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-True-int-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-True-int-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-True-float32-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-True-float32-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-True-bool_-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-True-bool_-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-True-str-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-True-str-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-False-float-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-False-float-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-False-int-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-False-int-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-False-float32-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-False-float32-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-False-bool_-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-False-bool_-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-False-str-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-False-False-str-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-True-float-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-True-float-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-True-int-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-True-int-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-True-float32-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-True-float32-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-True-bool_-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-True-bool_-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-True-str-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-True-str-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-False-float-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-False-float-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-False-int-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-False-int-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-False-float32-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-False-float32-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-False-bool_-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-False-bool_-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-False-str-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-min-True-False-str-2] PASSED [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-True-float-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-True-float-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-True-int-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-True-int-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-True-float32-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-True-float32-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-True-bool_-1] SKIPPED (dim not in this test) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-True-bool_-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 55%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-True-str-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-True-str-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-False-float-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-False-float-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-False-int-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-False-int-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-False-float32-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-False-float32-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-False-bool_-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-False-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-False-str-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-False-False-str-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-True-float-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-True-float-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-True-int-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-True-int-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-True-float32-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-True-float32-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-True-bool_-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-True-bool_-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-True-str-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-True-str-2] SKIPPED (numpy's argmin (not nanargmin) does not handle object-dtype) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-False-float-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-False-float-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-False-int-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-False-int-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-False-float32-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-False-float32-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-False-bool_-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-False-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-False-str-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-False-max-True-False-str-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-True-float-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-True-float-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-True-int-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-True-int-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-True-float32-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-True-float32-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-True-bool_-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-True-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-True-str-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-True-str-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-False-float-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-False-float-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-False-int-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-False-int-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-False-float32-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-False-float32-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-False-bool_-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-False-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-False-str-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-False-False-str-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-True-float-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-True-float-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-True-int-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-True-int-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-True-float32-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-True-float32-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-True-bool_-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-True-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-True-str-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-True-str-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-False-float-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-False-float-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-False-int-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-False-int-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-False-float32-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-False-float32-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-False-bool_-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-False-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-False-str-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-min-True-False-str-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-True-float-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-True-float-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-True-int-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-True-int-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-True-float32-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-True-float32-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-True-bool_-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-True-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-True-str-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-True-str-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-False-float-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-False-float-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-False-int-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-False-int-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-False-float32-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-False-float32-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-False-bool_-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-False-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-False-str-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-False-False-str-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-True-float-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-True-float-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-True-int-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-True-int-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-True-float32-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-True-float32-2] SKIPPED (numpy's nanargmin raises ValueError for all nan axis) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-True-bool_-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-True-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-True-str-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-True-str-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-False-float-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-False-float-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-False-int-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-False-int-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-False-float32-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-False-float32-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-False-bool_-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-False-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-False-str-1] SKIPPED (dim not in this test) [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max[y-True-max-True-False-str-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_argmin_max_error PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_isnull[array0] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_isnull[array1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_isnull[array2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_isnull[array3] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_isnull[array4] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_isnull_with_dask PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_dask_gradient[1-0] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_dask_gradient[1--1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_dask_gradient[1-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_dask_gradient[2-0] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_dask_gradient[2--1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_dask_gradient[2-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-False-float-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-False-float-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-False-int-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-False-int-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-False-float32-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-False-float32-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-False-bool_-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-False-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-True-float-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-True-float-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-True-int-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-True-int-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-True-float32-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-True-float32-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-True-bool_-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-sum-True-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-False-float-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-False-float-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-False-int-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-False-int-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-False-float32-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-False-float32-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-False-bool_-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-False-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-True-float-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-True-float-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-True-int-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-True-int-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-True-float32-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-True-float32-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-True-bool_-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-None-prod-True-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-False-float-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-False-float-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-False-int-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-False-int-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-False-float32-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-False-float32-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-False-bool_-1] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-False-bool_-2] PASSED [ 56%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-True-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-True-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-True-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-True-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-True-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-True-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-True-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-sum-True-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-False-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-False-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-False-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-False-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-False-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-False-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-False-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-False-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-True-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-True-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-True-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-True-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-True-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-True-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-True-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-True-x-prod-True-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-False-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-False-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-False-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-False-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-False-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-False-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-False-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-False-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-True-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-True-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-True-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-True-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-True-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-True-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-True-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-sum-True-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-False-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-False-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-False-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-False-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-False-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-False-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-False-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-False-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-True-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-True-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-True-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-True-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-True-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-True-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-True-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-None-prod-True-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-False-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-False-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-False-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-False-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-False-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-False-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-False-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-False-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-True-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-True-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-True-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-True-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-True-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-True-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-True-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-sum-True-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-False-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-False-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-False-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-False-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-False-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-False-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-False-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-False-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-True-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-True-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-True-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-True-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-True-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-True-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-True-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[True-False-x-prod-True-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-False-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-False-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-False-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-False-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-False-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-False-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-False-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-False-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-True-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-True-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-True-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-True-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-True-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-True-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-True-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-sum-True-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-False-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-False-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-False-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-False-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-False-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-False-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-False-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-False-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-True-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-True-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-True-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-True-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-True-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-True-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-True-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-None-prod-True-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-False-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-False-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-False-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-False-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-False-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-False-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-False-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-False-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-True-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-True-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-True-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-True-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-True-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-True-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-True-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-sum-True-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-False-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-False-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-False-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-False-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-False-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-False-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-False-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-False-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-True-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-True-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-True-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-True-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-True-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-True-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-True-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-True-x-prod-True-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-False-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-False-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-False-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-False-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-False-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-False-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-False-bool_-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-False-bool_-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-True-float-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-True-float-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-True-int-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-True-int-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-True-float32-1] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-True-float32-2] PASSED [ 57%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-True-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-sum-True-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-False-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-False-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-False-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-False-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-False-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-False-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-False-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-False-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-True-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-True-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-True-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-True-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-True-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-True-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-True-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-None-prod-True-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-False-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-False-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-False-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-False-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-False-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-False-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-False-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-False-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-True-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-True-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-True-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-True-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-True-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-True-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-True-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-sum-True-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-False-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-False-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-False-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-False-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-False-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-False-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-False-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-False-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-True-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-True-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-True-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-True-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-True-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-True-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-True-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[False-False-x-prod-True-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-False-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-False-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-False-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-False-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-False-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-False-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-False-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-False-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-True-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-True-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-True-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-True-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-True-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-True-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-True-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-sum-True-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-False-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-False-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-False-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-False-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-False-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-False-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-False-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-False-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-True-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-True-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-True-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-True-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-True-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-True-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-True-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-None-prod-True-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-False-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-False-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-False-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-False-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-False-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-False-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-False-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-False-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-True-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-True-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-True-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-True-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-True-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-True-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-True-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-sum-True-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-False-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-False-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-False-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-False-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-False-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-False-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-False-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-False-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-True-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-True-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-True-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-True-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-True-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-True-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-True-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-True-x-prod-True-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-False-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-False-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-False-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-False-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-False-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-False-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-False-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-False-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-True-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-True-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-True-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-True-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-True-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-True-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-True-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-sum-True-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-False-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-False-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-False-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-False-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-False-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-False-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-False-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-False-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-True-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-True-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-True-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-True-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-True-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-True-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-True-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-None-prod-True-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-False-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-False-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-False-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-False-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-False-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-False-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-False-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-False-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-True-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-True-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-True-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-True-int-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-True-float32-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-True-float32-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-True-bool_-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-sum-True-bool_-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-False-float-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-False-float-2] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-False-int-1] PASSED [ 58%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-False-int-2] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-False-float32-1] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-False-float32-2] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-False-bool_-1] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-False-bool_-2] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-True-float-1] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-True-float-2] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-True-int-1] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-True-int-2] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-True-float32-1] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-True-float32-2] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-True-bool_-1] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count[None-False-x-prod-True-bool_-2] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[sum-False-float] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[sum-False-int] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[sum-False-float32] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[sum-False-bool_] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[sum-True-float] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[sum-True-int] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[sum-True-float32] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[sum-True-bool_] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[prod-False-float] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[prod-False-int] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[prod-False-float32] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[prod-False-bool_] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[prod-True-float] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[prod-True-int] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[prod-True-float32] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_nd[prod-True-bool_] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_specific[None-sum-False] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_specific[None-sum-True] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_specific[None-prod-False] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_specific[None-prod-True] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_specific[a-sum-False] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_specific[a-sum-True] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_specific[a-prod-False] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_specific[a-prod-True] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_specific[b-sum-False] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_specific[b-sum-True] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_specific[b-prod-False] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_specific[b-prod-True] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_dataset[sum] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_min_count_dataset[prod] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-False-False-float] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-False-False-int] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-False-False-float32] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-False-False-bool_] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-False-True-float] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-False-True-int] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-False-True-float32] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-False-True-bool_] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-True-False-float] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-True-False-int] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-True-False-float32] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-True-False-bool_] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-True-True-float] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-True-True-int] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-True-True-float32] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[sum-True-True-bool_] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-False-False-float] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-False-False-int] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-False-False-float32] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-False-False-bool_] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-False-True-float] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-False-True-int] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-False-True-float32] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-False-True-bool_] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-True-False-float] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-True-False-int] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-True-False-float32] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-True-False-bool_] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-True-True-float] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-True-True-int] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-True-True-float32] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_multiple_dims[prod-True-True-bool_] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_datetime_to_numeric_datetime64[True] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_datetime_to_numeric_datetime64[False] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_datetime_to_numeric_cftime[True] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_datetime_to_numeric_cftime[False] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_datetime_to_numeric_potential_overflow PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_py_timedelta_to_float PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_np_timedelta64_to_float[td0-86400000000000.0] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_np_timedelta64_to_float[td1-1.0] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_pd_timedelta_to_float[td0-86400000000000.0] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_pd_timedelta_to_float[td1-1.0] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_timedelta_to_numeric[td0] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_timedelta_to_numeric[td1] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_timedelta_to_numeric[td2] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_timedelta_to_numeric[1 day] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_least_squares[True-True] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_least_squares[True-False] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_least_squares[False-True] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_least_squares[False-False] PASSED [ 59%] xarray/tests/test_duck_array_ops.py::test_push_dask PASSED [ 59%] xarray/tests/test_extensions.py::TestAccessor::test_register PASSED [ 59%] xarray/tests/test_extensions.py::TestAccessor::test_pickle_dataset PASSED [ 59%] xarray/tests/test_extensions.py::TestAccessor::test_pickle_dataarray PASSED [ 59%] xarray/tests/test_extensions.py::TestAccessor::test_broken_accessor PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_get_indexer_at_least_n_items PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_first_n_items PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_last_n_items PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_last_item PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_format_item PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_format_items PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_format_array_flat PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_pretty_print PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_maybe_truncate PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_format_timestamp_invalid_pandas_format PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_format_timestamp_out_of_bounds PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_attribute_repr PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_index_repr PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_diff_array_repr PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_diff_attrs_repr_with_array PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_diff_dataset_repr PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_array_repr PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_array_repr_variable PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_array_repr_recursive PASSED [ 59%] xarray/tests/test_formatting.py::TestFormatting::test_array_scalar_format PASSED [ 59%] xarray/tests/test_formatting.py::test_inline_variable_array_repr_custom_repr PASSED [ 59%] xarray/tests/test_formatting.py::test_set_numpy_options PASSED [ 59%] xarray/tests/test_formatting.py::test_short_numpy_repr PASSED [ 59%] xarray/tests/test_formatting.py::test_large_array_repr_length PASSED [ 59%] xarray/tests/test_formatting.py::test_repr_file_collapsed PASSED [ 59%] xarray/tests/test_formatting.py::test__mapping_repr[50-40-30] PASSED [ 59%] xarray/tests/test_formatting.py::test__mapping_repr[35-40-30] PASSED [ 59%] xarray/tests/test_formatting.py::test__mapping_repr[11-40-30] PASSED [ 59%] xarray/tests/test_formatting.py::test__mapping_repr[1-40-30] PASSED [ 59%] xarray/tests/test_formatting.py::test__mapping_repr_recursive PASSED [ 59%] xarray/tests/test_formatting.py::test__element_formatter PASSED [ 59%] xarray/tests/test_formatting.py::test_lazy_array_wont_compute PASSED [ 59%] xarray/tests/test_formatting_html.py::test_short_data_repr_html PASSED [ 59%] xarray/tests/test_formatting_html.py::test_short_data_repr_html_non_str_keys PASSED [ 59%] xarray/tests/test_formatting_html.py::test_short_data_repr_html_dask PASSED [ 59%] xarray/tests/test_formatting_html.py::test_format_dims_no_dims PASSED [ 59%] xarray/tests/test_formatting_html.py::test_format_dims_unsafe_dim_name PASSED [ 59%] xarray/tests/test_formatting_html.py::test_format_dims_non_index PASSED [ 59%] xarray/tests/test_formatting_html.py::test_format_dims_index PASSED [ 59%] xarray/tests/test_formatting_html.py::test_summarize_attrs_with_unsafe_attr_name_and_value PASSED [ 59%] xarray/tests/test_formatting_html.py::test_repr_of_dataarray PASSED [ 59%] xarray/tests/test_formatting_html.py::test_repr_of_multiindex PASSED [ 59%] xarray/tests/test_formatting_html.py::test_repr_of_dataset PASSED [ 59%] xarray/tests/test_formatting_html.py::test_repr_text_fallback PASSED [ 59%] xarray/tests/test_formatting_html.py::test_variable_repr_html PASSED [ 59%] xarray/tests/test_formatting_html.py::test_repr_of_nonstr_dataset PASSED [ 59%] xarray/tests/test_formatting_html.py::test_repr_of_nonstr_dataarray PASSED [ 59%] xarray/tests/test_formatting_html.py::test_nonstr_variable_repr_html PASSED [ 59%] xarray/tests/test_groupby.py::test_consolidate_slices PASSED [ 59%] xarray/tests/test_groupby.py::test_groupby_dims_property PASSED [ 59%] xarray/tests/test_groupby.py::test_multi_index_groupby_map PASSED [ 59%] xarray/tests/test_groupby.py::test_reduce_numeric_only PASSED [ 59%] xarray/tests/test_groupby.py::test_multi_index_groupby_sum PASSED [ 59%] xarray/tests/test_groupby.py::test_groupby_da_datetime PASSED [ 59%] xarray/tests/test_groupby.py::test_groupby_duplicate_coordinate_labels PASSED [ 59%] xarray/tests/test_groupby.py::test_groupby_input_mutation PASSED [ 59%] xarray/tests/test_groupby.py::test_groupby_map_shrink_groups[obj0] PASSED [ 59%] xarray/tests/test_groupby.py::test_groupby_map_shrink_groups[obj1] PASSED [ 59%] xarray/tests/test_groupby.py::test_groupby_map_change_group_size[obj0] PASSED [ 59%] xarray/tests/test_groupby.py::test_groupby_map_change_group_size[obj1] PASSED [ 59%] xarray/tests/test_groupby.py::test_da_groupby_map_func_args PASSED [ 59%] xarray/tests/test_groupby.py::test_ds_groupby_map_func_args PASSED [ 59%] xarray/tests/test_groupby.py::test_da_groupby_empty PASSED [ 59%] xarray/tests/test_groupby.py::test_da_groupby_quantile PASSED [ 59%] xarray/tests/test_groupby.py::test_ds_groupby_quantile PASSED [ 59%] xarray/tests/test_groupby.py::test_groupby_quantile_interpolation_deprecated[False] PASSED [ 59%] xarray/tests/test_groupby.py::test_groupby_quantile_interpolation_deprecated[True] PASSED [ 59%] xarray/tests/test_groupby.py::test_da_groupby_assign_coords PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_repr[obj0-x] PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_repr[obj0-y] PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_repr[obj0-z] PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_repr[obj0-month] PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_repr[obj1-x] PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_repr[obj1-y] PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_repr[obj1-z] PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_repr[obj1-month] PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_repr_datetime[obj0] PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_repr_datetime[obj1] PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_drops_nans PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_grouping_errors PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_reduce_dimension_error PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_multiple_string_args PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_bins_timeseries PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_none_group_name PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_getitem PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataset PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataset_returns_new_type PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataset_iter PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataset_errors PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataset_reduce PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataset_math[True] PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataset_math[False] PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_math_more PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_bins_math[True] PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_bins_math[False] PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_math_nD_group PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataset_math_virtual PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_math_dim_order PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataset_nan PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataset_order PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataset_fillna PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataset_where PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataset_assign PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataset_map_dataarray_func PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_dataarray_map_dataset_func PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_flox_kwargs[kwargs0] SKIPPED (requires flox) [ 60%] xarray/tests/test_groupby.py::test_groupby_flox_kwargs[kwargs1] SKIPPED (requires flox) [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_stack_groupby_unsorted_coord PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_iter PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_properties PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[True-True-x-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[True-True-y-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[True-True-y-True] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[True-True-abc-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[True-False-x-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[True-False-y-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[True-False-y-True] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[True-False-abc-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[False-True-x-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[False-True-y-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[False-True-y-True] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[False-True-abc-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[False-False-x-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[False-False-y-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[False-False-y-True] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_identity[False-False-abc-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_sum PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reductions[sum] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reductions[mean] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reductions[median] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_count PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reduce_keep_attrs[None-True] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reduce_keep_attrs[None-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reduce_keep_attrs[True-True] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reduce_keep_attrs[True-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reduce_keep_attrs[False-True] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_reduce_keep_attrs[False-False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_keep_attrs[None] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_keep_attrs[True] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_keep_attrs[False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_center PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_ndarray PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_map_changes_metadata PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_math_squeeze[True] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_math_squeeze[False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_math PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_math_not_aligned PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_restore_dim_order PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_restore_coord_dims PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_first_and_last PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_multidim PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_multidim_map PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_bins PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_bins_empty PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_bins_multidim PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_bins_sort PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_assign_coords PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayGroupBy::test_groupby_fillna PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_resample PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_da_resample_func_args PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_resample_first PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_resample_bad_resample_dim PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_resample_drop_nondim_coords PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_resample_keep_attrs PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_resample_skipna PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_upsample PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_upsample_nd PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_upsample_tolerance PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_upsample_interpolate PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_upsample_interpolate_bug_2197 PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_upsample_interpolate_regression_1605 PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_upsample_interpolate_dask[True] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_upsample_interpolate_dask[False] PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_resample_base PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_resample_offset PASSED [ 60%] xarray/tests/test_groupby.py::TestDataArrayResample::test_resample_origin PASSED [ 60%] xarray/tests/test_groupby.py::TestDatasetResample::test_resample_and_first PASSED [ 60%] xarray/tests/test_groupby.py::TestDatasetResample::test_resample_min_count PASSED [ 60%] xarray/tests/test_groupby.py::TestDatasetResample::test_resample_by_mean_with_keep_attrs PASSED [ 60%] xarray/tests/test_groupby.py::TestDatasetResample::test_resample_loffset PASSED [ 60%] xarray/tests/test_groupby.py::TestDatasetResample::test_resample_by_mean_discarding_attrs PASSED [ 60%] xarray/tests/test_groupby.py::TestDatasetResample::test_resample_by_last_discarding_attrs PASSED [ 60%] xarray/tests/test_groupby.py::TestDatasetResample::test_resample_drop_nondim_coords PASSED [ 60%] xarray/tests/test_groupby.py::TestDatasetResample::test_resample_old_api PASSED [ 60%] xarray/tests/test_groupby.py::TestDatasetResample::test_resample_ds_da_are_the_same PASSED [ 60%] xarray/tests/test_groupby.py::TestDatasetResample::test_ds_resample_apply_func_args PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_cumsum PASSED [ 60%] xarray/tests/test_groupby.py::test_groupby_cumprod PASSED [ 60%] xarray/tests/test_groupby.py::test_resample_cumsum[cumsum-expected_array0] PASSED [ 60%] xarray/tests/test_groupby.py::test_resample_cumsum[cumprod-expected_array1] PASSED [ 60%] xarray/tests/test_indexes.py::test_asarray_tuplesafe PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_from_variables PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_concat PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_stack PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_unstack PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_create_variables PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_to_pandas_index PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_isel PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_sel PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_join PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_reindex_like PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_equals PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_roll PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_rename PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_copy[True] PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_copy[False] PASSED [ 60%] xarray/tests/test_indexes.py::TestIndex::test_getitem PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_constructor PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_from_variables PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_from_variables_index_adapter PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_concat_periods PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_concat_str_dtype[str] PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_concat_str_dtype[bytes] PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_concat_empty PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_concat_dim_error PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_create_variables PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_to_pandas_index PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_sel PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_sel_boolean PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_sel_datetime PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_sel_unsorted_datetime_index_raises PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_equals PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_join PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_reindex_like PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_rename PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_copy PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasIndex::test_getitem PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasMultiIndex::test_constructor PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasMultiIndex::test_from_variables PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasMultiIndex::test_concat PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasMultiIndex::test_stack PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasMultiIndex::test_stack_non_unique PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasMultiIndex::test_unstack PASSED [ 60%] xarray/tests/test_indexes.py::TestPandasMultiIndex::test_create_variables PASSED [ 61%] xarray/tests/test_indexes.py::TestPandasMultiIndex::test_sel PASSED [ 61%] xarray/tests/test_indexes.py::TestPandasMultiIndex::test_join PASSED [ 61%] xarray/tests/test_indexes.py::TestPandasMultiIndex::test_rename PASSED [ 61%] xarray/tests/test_indexes.py::TestPandasMultiIndex::test_copy PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_interface[pd_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_interface[xr_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_variables[pd_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_variables[xr_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_dims[pd_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_dims[xr_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_get_unique[pd_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_get_unique[xr_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_is_multi[pd_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_is_multi[xr_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_get_all_coords[pd_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_get_all_coords[xr_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_get_all_dims[pd_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_get_all_dims[xr_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_group_by_index[pd_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_group_by_index[xr_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_to_pandas_indexes[pd_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_to_pandas_indexes[xr_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_copy_indexes[pd_index] PASSED [ 61%] xarray/tests/test_indexes.py::TestIndexes::test_copy_indexes[xr_index] PASSED [ 61%] xarray/tests/test_indexes.py::test_safe_cast_to_index PASSED [ 61%] xarray/tests/test_indexes.py::test_safe_cast_to_index_cftimeindex PASSED [ 61%] xarray/tests/test_indexes.py::test_safe_cast_to_index_datetime_datetime PASSED [ 61%] xarray/tests/test_indexes.py::test_restore_dtype_on_multiindexes[int32] PASSED [ 61%] xarray/tests/test_indexes.py::test_restore_dtype_on_multiindexes[float32] PASSED [ 61%] xarray/tests/test_indexing.py::TestIndexers::test_expanded_indexer PASSED [ 61%] xarray/tests/test_indexing.py::TestIndexers::test_stacked_multiindex_min_max PASSED [ 61%] xarray/tests/test_indexing.py::TestIndexers::test_group_indexers_by_index PASSED [ 61%] xarray/tests/test_indexing.py::TestIndexers::test_map_index_queries PASSED [ 61%] xarray/tests/test_indexing.py::TestIndexers::test_read_only_view PASSED [ 61%] xarray/tests/test_indexing.py::TestLazyArray::test_slice_slice PASSED [ 61%] xarray/tests/test_indexing.py::TestLazyArray::test_lazily_indexed_array PASSED [ 61%] xarray/tests/test_indexing.py::TestLazyArray::test_vectorized_lazily_indexed_array PASSED [ 61%] xarray/tests/test_indexing.py::TestCopyOnWriteArray::test_setitem PASSED [ 61%] xarray/tests/test_indexing.py::TestCopyOnWriteArray::test_sub_array PASSED [ 61%] xarray/tests/test_indexing.py::TestCopyOnWriteArray::test_index_scalar PASSED [ 61%] xarray/tests/test_indexing.py::TestMemoryCachedArray::test_wrapper PASSED [ 61%] xarray/tests/test_indexing.py::TestMemoryCachedArray::test_sub_array PASSED [ 61%] xarray/tests/test_indexing.py::TestMemoryCachedArray::test_setitem PASSED [ 61%] xarray/tests/test_indexing.py::TestMemoryCachedArray::test_index_scalar PASSED [ 61%] xarray/tests/test_indexing.py::test_base_explicit_indexer PASSED [ 61%] xarray/tests/test_indexing.py::test_invalid_for_all[BasicIndexer] PASSED [ 61%] xarray/tests/test_indexing.py::test_invalid_for_all[OuterIndexer] PASSED [ 61%] xarray/tests/test_indexing.py::test_invalid_for_all[VectorizedIndexer] PASSED [ 61%] xarray/tests/test_indexing.py::test_basic_indexer PASSED [ 61%] xarray/tests/test_indexing.py::test_outer_indexer PASSED [ 61%] xarray/tests/test_indexing.py::test_vectorized_indexer PASSED [ 61%] xarray/tests/test_indexing.py::Test_vectorized_indexer::test_arrayize_vectorized_indexer PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_slice[sl0-100] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_slice[sl0-99] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_slice[sl1-100] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_slice[sl1-99] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_slice[sl2-100] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_slice[sl2-99] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_slice[sl3-100] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_slice[sl3-99] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-vectorized-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-vectorized-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-outer-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-outer-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-outer_scalar-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-outer_scalar-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-outer_scalar2-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-outer_scalar2-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-outer1vec-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-outer1vec-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-basic-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-basic-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-basic1-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-basic1-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-basic2-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-basic2-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-basic3-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.BASIC-basic3-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-vectorized-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-vectorized-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-outer-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-outer-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-outer_scalar-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-outer_scalar-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-outer_scalar2-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-outer_scalar2-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-outer1vec-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-outer1vec-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-basic-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-basic-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-basic1-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-basic1-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-basic2-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-basic2-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-basic3-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER-basic3-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-vectorized-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-vectorized-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-outer-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-outer-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-outer_scalar-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-outer_scalar-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-outer_scalar2-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-outer_scalar2-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-outer1vec-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-outer1vec-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-basic-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-basic-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-basic1-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-basic1-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-basic2-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-basic2-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-basic3-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.OUTER_1VECTOR-basic3-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-vectorized-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-vectorized-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-outer-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-outer-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-outer_scalar-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-outer_scalar-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-outer_scalar2-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-outer_scalar2-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-outer1vec-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-outer1vec-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-basic-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-basic-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-basic1-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-basic1-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-basic2-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-basic2-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-basic3-shape0] PASSED [ 61%] xarray/tests/test_indexing.py::test_decompose_indexers[IndexingSupport.VECTORIZED-basic3-shape1] PASSED [ 61%] xarray/tests/test_indexing.py::test_implicit_indexing_adapter PASSED [ 61%] xarray/tests/test_indexing.py::test_implicit_indexing_adapter_copy_on_write PASSED [ 61%] xarray/tests/test_indexing.py::test_outer_indexer_consistency_with_broadcast_indexes_vectorized PASSED [ 61%] xarray/tests/test_indexing.py::test_create_mask_outer_indexer PASSED [ 61%] xarray/tests/test_indexing.py::test_create_mask_vectorized_indexer PASSED [ 61%] xarray/tests/test_indexing.py::test_create_mask_basic_indexer PASSED [ 61%] xarray/tests/test_indexing.py::test_create_mask_dask PASSED [ 61%] xarray/tests/test_indexing.py::test_create_mask_error PASSED [ 61%] xarray/tests/test_indexing.py::test_posify_mask_subindexer[indices0-expected0] PASSED [ 61%] xarray/tests/test_indexing.py::test_posify_mask_subindexer[indices1-expected1] PASSED [ 61%] xarray/tests/test_indexing.py::test_posify_mask_subindexer[indices2-expected2] PASSED [ 61%] xarray/tests/test_indexing.py::test_posify_mask_subindexer[indices3-expected3] PASSED [ 61%] xarray/tests/test_indexing.py::test_posify_mask_subindexer[indices4-expected4] PASSED [ 61%] xarray/tests/test_indexing.py::test_posify_mask_subindexer[indices5-expected5] PASSED [ 61%] xarray/tests/test_indexing.py::test_posify_mask_subindexer[indices6-expected6] PASSED [ 61%] xarray/tests/test_indexing.py::test_indexing_1d_object_array PASSED [ 61%] xarray/tests/test_interp.py::test_keywargs PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_1d[no_chunk-x-linear] PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_1d[no_chunk-x-cubic] PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_1d[no_chunk-y-linear] PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_1d[no_chunk-y-cubic] PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_1d[chunk_y-x-linear] PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_1d[chunk_y-x-cubic] PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_1d[chunk_y-y-linear] PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_1d[chunk_y-y-cubic] PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_1d_methods[cubic] PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_1d_methods[zero] PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_vectorize[False] PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_vectorize[True] PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_nd[no_chunk] PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_nd[chunked] PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_nd_nd PASSED [ 61%] xarray/tests/test_interp.py::test_interpolate_nd_with_nan PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_scalar[no_chunk-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_scalar[chunk_y-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_nd_scalar[no_chunk-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_nd_scalar[chunked-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_nans[True] PASSED [ 62%] xarray/tests/test_interp.py::test_nans[False] PASSED [ 62%] xarray/tests/test_interp.py::test_errors[True] PASSED [ 62%] xarray/tests/test_interp.py::test_errors[False] PASSED [ 62%] xarray/tests/test_interp.py::test_dtype PASSED [ 62%] xarray/tests/test_interp.py::test_sorted PASSED [ 62%] xarray/tests/test_interp.py::test_dimension_wo_coords PASSED [ 62%] xarray/tests/test_interp.py::test_dataset PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_dimorder[2D] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_dimorder[3D] PASSED [ 62%] xarray/tests/test_interp.py::test_interp_like PASSED [ 62%] xarray/tests/test_interp.py::test_datetime[x_new0-expected0] PASSED [ 62%] xarray/tests/test_interp.py::test_datetime[x_new1-expected1] PASSED [ 62%] xarray/tests/test_interp.py::test_datetime[x_new2-expected2] PASSED [ 62%] xarray/tests/test_interp.py::test_datetime[x_new3-expected3] PASSED [ 62%] xarray/tests/test_interp.py::test_datetime[x_new4-0.5] PASSED [ 62%] xarray/tests/test_interp.py::test_datetime[2000-01-01T12:00-0.5] XFAIL [ 62%] xarray/tests/test_interp.py::test_datetime_single_string PASSED [ 62%] xarray/tests/test_interp.py::test_cftime PASSED [ 62%] xarray/tests/test_interp.py::test_cftime_type_error PASSED [ 62%] xarray/tests/test_interp.py::test_cftime_list_of_strings PASSED [ 62%] xarray/tests/test_interp.py::test_cftime_single_string PASSED [ 62%] xarray/tests/test_interp.py::test_datetime_to_non_datetime_error PASSED [ 62%] xarray/tests/test_interp.py::test_cftime_to_non_cftime_error PASSED [ 62%] xarray/tests/test_interp.py::test_datetime_interp_noerror PASSED [ 62%] xarray/tests/test_interp.py::test_3641 PASSED [ 62%] xarray/tests/test_interp.py::test_decompose[nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_decompose[linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-0-True-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-0-True-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-0-True-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-0-True-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-0-True-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-0-True-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-0-False-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-0-False-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-0-False-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-0-False-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-0-False-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-0-False-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-1-True-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-1-True-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-1-True-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-1-True-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-1-True-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-1-True-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-1-False-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-1-False-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-1-False-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-1-False-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-1-False-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[1-1-1-False-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-0-True-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-0-True-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-0-True-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-0-True-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-0-True-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-0-True-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-0-False-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-0-False-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-0-False-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-0-False-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-0-False-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-0-False-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-1-True-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-1-True-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-1-True-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-1-True-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-1-True-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-1-True-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-1-False-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-1-False-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-1-False-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-1-False-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-1-False-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-1-1-False-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-0-True-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-0-True-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-0-True-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-0-True-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-0-True-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-0-True-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-0-False-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-0-False-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-0-False-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-0-False-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-0-False-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-0-False-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-1-True-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-1-True-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-1-True-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-1-True-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-1-True-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-1-True-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-1-False-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-1-False-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-1-False-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-1-False-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-1-False-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-1-False-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-2-True-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-2-True-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-2-True-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-2-True-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-2-True-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-2-True-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-2-False-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-2-False-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-2-False-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-2-False-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-2-False-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[2-2-2-False-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-0-True-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-0-True-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-0-True-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-0-True-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-0-True-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-0-True-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-0-False-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-0-False-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-0-False-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-0-False-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-0-False-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-0-False-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-1-True-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-1-True-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-1-True-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-1-True-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-1-True-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-1-True-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-1-False-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-1-False-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-1-False-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-1-False-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-1-False-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-1-1-False-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-0-True-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-0-True-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-0-True-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-0-True-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-0-True-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-0-True-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-0-False-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-0-False-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-0-False-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-0-False-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-0-False-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-0-False-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-1-True-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-1-True-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-1-True-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-1-True-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-1-True-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-1-True-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-1-False-linear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-1-False-nearest] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-1-False-zero] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-1-False-slinear] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-1-False-quadratic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-1-False-cubic] PASSED [ 62%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-2-True-linear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-2-True-nearest] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-2-True-zero] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-2-True-slinear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-2-True-quadratic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-2-True-cubic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-2-False-linear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-2-False-nearest] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-2-False-zero] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-2-False-slinear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-2-False-quadratic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-2-2-False-cubic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-0-True-linear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-0-True-nearest] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-0-True-zero] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-0-True-slinear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-0-True-quadratic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-0-True-cubic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-0-False-linear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-0-False-nearest] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-0-False-zero] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-0-False-slinear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-0-False-quadratic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-0-False-cubic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-1-True-linear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-1-True-nearest] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-1-True-zero] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-1-True-slinear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-1-True-quadratic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-1-True-cubic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-1-False-linear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-1-False-nearest] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-1-False-zero] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-1-False-slinear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-1-False-quadratic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-1-False-cubic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-2-True-linear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-2-True-nearest] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-2-True-zero] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-2-True-slinear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-2-True-quadratic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-2-True-cubic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-2-False-linear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-2-False-nearest] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-2-False-zero] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-2-False-slinear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-2-False-quadratic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-2-False-cubic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-3-True-linear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-3-True-nearest] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-3-True-zero] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-3-True-slinear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-3-True-quadratic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-3-True-cubic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-3-False-linear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-3-False-nearest] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-3-False-zero] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-3-False-slinear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-3-False-quadratic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_1d[3-3-3-False-cubic] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_advanced[linear] PASSED [ 63%] xarray/tests/test_interp.py::test_interpolate_chunk_advanced[nearest] PASSED [ 63%] xarray/tests/test_interp.py::test_interp1d_bounds_error PASSED [ 63%] xarray/tests/test_interp.py::test_coord_attrs[2.5-True] PASSED [ 63%] xarray/tests/test_interp.py::test_coord_attrs[x1-True] PASSED [ 63%] xarray/tests/test_interp.py::test_coord_attrs[x2-False] PASSED [ 63%] xarray/tests/test_interp.py::test_interp1d_complex_out_of_bounds PASSED [ 63%] xarray/tests/test_merge.py::TestMergeInternals::test_broadcast_dimension_size PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_datasets PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_dataarray_unnamed PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs_default PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs[no_conflicts-var1_attrs0-var2_attrs0-expected_attrs0-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs[no_conflicts-var1_attrs1-var2_attrs1-expected_attrs1-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs[no_conflicts-var1_attrs2-var2_attrs2-expected_attrs2-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs[no_conflicts-var1_attrs3-var2_attrs3-expected_attrs3-True] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs[drop-var1_attrs4-var2_attrs4-expected_attrs4-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs[identical-var1_attrs5-var2_attrs5-expected_attrs5-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs[identical-var1_attrs6-var2_attrs6-expected_attrs6-True] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs[override-var1_attrs7-var2_attrs7-expected_attrs7-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs[drop_conflicts-var1_attrs8-var2_attrs8-expected_attrs8-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs[drop_conflicts-var1_attrs9-var2_attrs9-expected_attrs9-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs[-var1_attrs10-var2_attrs10-expected_attrs10-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs_variables[no_conflicts-attrs10-attrs20-expected_attrs0-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs_variables[no_conflicts-attrs11-attrs21-expected_attrs1-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs_variables[no_conflicts-attrs12-attrs22-expected_attrs2-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs_variables[no_conflicts-attrs13-attrs23-expected_attrs3-True] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs_variables[drop-attrs14-attrs24-expected_attrs4-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs_variables[identical-attrs15-attrs25-expected_attrs5-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs_variables[identical-attrs16-attrs26-expected_attrs6-True] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs_variables[override-attrs17-attrs27-expected_attrs7-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs_variables[drop_conflicts-attrs18-attrs28-expected_attrs8-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_arrays_attrs_variables[-attrs19-attrs29-expected_attrs9-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_attrs_override_copy PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_attrs_drop_conflicts PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_attrs_no_conflicts_compat_minimal PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_dicts_simple PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_dicts_dims PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_error PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_alignment_error PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_wrong_input_error PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_no_conflicts_single_var PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_no_conflicts_multi_var PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_no_conflicts_preserve_attrs PASSED [ 63%] xarray/tests/test_merge.py::TestMergeFunction::test_merge_no_conflicts_broadcast PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge_broadcast_equals PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge_compat PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge_auto_align PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge_fill_value[fill_value0] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge_fill_value[2] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge_fill_value[2.0] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge_fill_value[fill_value3] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge_no_conflicts PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge_dataarray PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge_combine_attrs[drop-attrs10-attrs20-expected_attrs0-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge_combine_attrs[drop_conflicts-attrs11-attrs21-expected_attrs1-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge_combine_attrs[override-attrs12-attrs22-expected_attrs2-False] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge_combine_attrs[no_conflicts-attrs13-attrs23-None-True] PASSED [ 63%] xarray/tests/test_merge.py::TestMergeMethod::test_merge_combine_attrs[identical-attrs14-attrs24-None-True] PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_pd_compat PASSED [ 63%] xarray/tests/test_missing.py::test_scipy_methods_function[barycentric] PASSED [ 63%] xarray/tests/test_missing.py::test_scipy_methods_function[krog] PASSED [ 63%] xarray/tests/test_missing.py::test_scipy_methods_function[pchip] PASSED [ 63%] xarray/tests/test_missing.py::test_scipy_methods_function[spline] PASSED [ 63%] xarray/tests/test_missing.py::test_scipy_methods_function[akima] PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_pd_compat_non_uniform_index PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_pd_compat_polynomial PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_unsorted_index_raises PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_no_dim_raises PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_invalid_interpolator_raises PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_duplicate_values_raises PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_multiindex_raises PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_2d_coord_raises PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_kwargs PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_keep_attrs PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[no nans:linear] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[one nan:linear] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[all nans:linear] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[no nans:nearest] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[one nan:nearest] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[all nans:nearest] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[no nans:zero] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[one nan:zero] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[all nans:zero] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[no nans:slinear] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[one nan:slinear] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[all nans:slinear] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[no nans:quadratic] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[one nan:quadratic] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[all nans:quadratic] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[no nans:cubic] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[one nan:cubic] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[all nans:cubic] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[no nans:polynomial] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[one nan:polynomial] PASSED [ 63%] xarray/tests/test_missing.py::test_interp1d_fastrack[all nans:polynomial] PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_limits PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_methods PASSED [ 63%] xarray/tests/test_missing.py::test_interpolators PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_use_coordinate PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_dask PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_dask_raises_for_invalid_chunk_dim PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_dask_expected_dtype[int-linear] PASSED [ 63%] xarray/tests/test_missing.py::test_interpolate_dask_expected_dtype[int-nearest] PASSED [ 63%] xarray/tests/test_missing.py::test_ffill PASSED [ 64%] xarray/tests/test_missing.py::test_ffill_use_bottleneck PASSED [ 64%] xarray/tests/test_missing.py::test_ffill_use_bottleneck_dask PASSED [ 64%] xarray/tests/test_missing.py::test_bfill_use_bottleneck PASSED [ 64%] xarray/tests/test_missing.py::test_bfill_use_bottleneck_dask PASSED [ 64%] xarray/tests/test_missing.py::test_ffill_bfill_dask[ffill] PASSED [ 64%] xarray/tests/test_missing.py::test_ffill_bfill_dask[bfill] PASSED [ 64%] xarray/tests/test_missing.py::test_ffill_bfill_nonans PASSED [ 64%] xarray/tests/test_missing.py::test_ffill_bfill_allnans PASSED [ 64%] xarray/tests/test_missing.py::test_ffill_functions PASSED [ 64%] xarray/tests/test_missing.py::test_ffill_limit PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_dataset PASSED [ 64%] xarray/tests/test_missing.py::test_ffill_dataset PASSED [ 64%] xarray/tests/test_missing.py::test_bfill_dataset PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_nan_block_lengths[y0-lengths0] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_nan_block_lengths[y1-lengths1] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_nan_block_lengths[y2-lengths2] PASSED [ 64%] xarray/tests/test_missing.py::test_get_clean_interp_index_cf_calendar[365_day] PASSED [ 64%] xarray/tests/test_missing.py::test_get_clean_interp_index_cf_calendar[360_day] PASSED [ 64%] xarray/tests/test_missing.py::test_get_clean_interp_index_cf_calendar[julian] PASSED [ 64%] xarray/tests/test_missing.py::test_get_clean_interp_index_cf_calendar[all_leap] PASSED [ 64%] xarray/tests/test_missing.py::test_get_clean_interp_index_cf_calendar[366_day] PASSED [ 64%] xarray/tests/test_missing.py::test_get_clean_interp_index_cf_calendar[gregorian] PASSED [ 64%] xarray/tests/test_missing.py::test_get_clean_interp_index_cf_calendar[proleptic_gregorian] PASSED [ 64%] xarray/tests/test_missing.py::test_get_clean_interp_index_cf_calendar[standard] PASSED [ 64%] xarray/tests/test_missing.py::test_get_clean_interp_index_dt[gregorian-1D] PASSED [ 64%] xarray/tests/test_missing.py::test_get_clean_interp_index_dt[proleptic_gregorian-1M] PASSED [ 64%] xarray/tests/test_missing.py::test_get_clean_interp_index_potential_overflow PASSED [ 64%] xarray/tests/test_missing.py::test_get_clean_interp_index_strict[index0] PASSED [ 64%] xarray/tests/test_missing.py::test_get_clean_interp_index_strict[index1] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_max_gap_errors PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_max_gap_time_specifier[3H-0-date_range] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_max_gap_time_specifier[3H-0-cftime_range] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_max_gap_time_specifier[3H-1-date_range] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_max_gap_time_specifier[3H-1-cftime_range] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_max_gap_time_specifier[max_gap1-0-date_range] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_max_gap_time_specifier[max_gap1-0-cftime_range] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_max_gap_time_specifier[max_gap1-1-date_range] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_max_gap_time_specifier[max_gap1-1-cftime_range] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_max_gap_time_specifier[max_gap2-0-date_range] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_max_gap_time_specifier[max_gap2-0-cftime_range] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_max_gap_time_specifier[max_gap2-1-date_range] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_max_gap_time_specifier[max_gap2-1-cftime_range] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolate_na_2d[None] XFAIL [ 64%] xarray/tests/test_missing.py::test_interpolate_na_2d[coords1] PASSED [ 64%] xarray/tests/test_missing.py::test_interpolators_complex_out_of_bounds PASSED [ 64%] xarray/tests/test_nputils.py::test_is_contiguous PASSED [ 64%] xarray/tests/test_nputils.py::test_vindex PASSED [ 64%] xarray/tests/test_options.py::test_invalid_option_raises PASSED [ 64%] xarray/tests/test_options.py::test_display_width PASSED [ 64%] xarray/tests/test_options.py::test_arithmetic_join PASSED [ 64%] xarray/tests/test_options.py::test_enable_cftimeindex PASSED [ 64%] xarray/tests/test_options.py::test_file_cache_maxsize PASSED [ 64%] xarray/tests/test_options.py::test_keep_attrs PASSED [ 64%] xarray/tests/test_options.py::test_nested_options PASSED [ 64%] xarray/tests/test_options.py::test_display_style PASSED [ 64%] xarray/tests/test_options.py::TestAttrRetention::test_dataset_attr_retention PASSED [ 64%] xarray/tests/test_options.py::TestAttrRetention::test_dataarray_attr_retention PASSED [ 64%] xarray/tests/test_options.py::TestAttrRetention::test_groupby_attr_retention PASSED [ 64%] xarray/tests/test_options.py::TestAttrRetention::test_concat_attr_retention PASSED [ 64%] xarray/tests/test_options.py::TestAttrRetention::test_merge_attr_retention XPASS [ 64%] xarray/tests/test_options.py::TestAttrRetention::test_display_style_text PASSED [ 64%] xarray/tests/test_options.py::TestAttrRetention::test_display_style_html PASSED [ 64%] xarray/tests/test_options.py::TestAttrRetention::test_display_dataarray_style_text PASSED [ 64%] xarray/tests/test_options.py::TestAttrRetention::test_display_dataarray_style_html PASSED [ 64%] xarray/tests/test_options.py::test_get_options_retention[left] PASSED [ 64%] xarray/tests/test_options.py::test_get_options_retention[exact] PASSED [ 64%] xarray/tests/test_plot.py::TestPlot::test_accessor SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_label_from_attrs SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test1d SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_1d_bool SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_1d_x_y_kw SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_multiindex_level_as_coord SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_infer_line_data SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_line_plot_along_1d_coord SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_line_plot_wrong_hue SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_2d_line SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_2d_line_accepts_legend_kw SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_2d_line_accepts_x_kw SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_2d_line_accepts_hue_kw SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_2d_coords_line_plot SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_2d_coord_line_plot_coords_transpose_invariant SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_2d_before_squeeze SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test2d_uniform_calls_imshow SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test2d_nonuniform_calls_contourf SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test2d_1d_2d_coordinates_contourf SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test2d_1d_2d_coordinates_pcolormesh SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_contourf_cmap_set SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_contourf_cmap_set_with_bad_under_over SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test3d SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_can_pass_in_axis SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test__infer_interval_breaks SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test__infer_interval_breaks_logscale SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test__infer_interval_breaks_logscale_invalid_coords SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_geo_data SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_datetime_dimension SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_convenient_facetgrid SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_subplot_kws SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_plot_size SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_convenient_facetgrid_4d SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_coord_with_interval SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_coord_with_interval_x SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_coord_with_interval_y SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_coord_with_interval_xy SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_labels_with_units_with_interval[x] SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot::test_labels_with_units_with_interval[y] SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot1D::test_xlabel_is_index_name SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot1D::test_no_label_name_on_x_axis SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot1D::test_no_label_name_on_y_axis SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot1D::test_ylabel_is_data_name SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot1D::test_xlabel_is_data_name SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot1D::test_format_string SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot1D::test_can_pass_in_axis SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot1D::test_nonnumeric_index SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot1D::test_primitive_returned SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot1D::test_plot_nans SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot1D::test_x_ticks_are_rotated_for_time SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot1D::test_xyincrease_false_changes_axes SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot1D::test_slice_in_title SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlot1D::test_slice_in_title_single_item_array SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_step SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_step_with_where[pre] SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_step_with_where[post] SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_step_with_where[mid] SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_step_with_hue SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_step_with_hue_and_where[pre] SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_step_with_hue_and_where[post] SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_step_with_hue_and_where[mid] SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_drawstyle_steps SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_drawstyle_steps_with_where[pre] SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_drawstyle_steps_with_where[post] SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_drawstyle_steps_with_where[mid] SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_coord_with_interval_step SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_coord_with_interval_step_x SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_coord_with_interval_step_y SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotStep::test_coord_with_interval_step_x_and_y_raises_valueeerror SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotHistogram::test_3d_array SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotHistogram::test_xlabel_uses_name SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotHistogram::test_title_is_histogram SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotHistogram::test_can_pass_in_kwargs SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotHistogram::test_can_pass_in_axis SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotHistogram::test_primitive_returned SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotHistogram::test_plot_nans SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestPlotHistogram::test_hist_coord_with_interval SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDetermineCmapParams::test_robust SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDetermineCmapParams::test_center SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDetermineCmapParams::test_cmap_sequential_option SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDetermineCmapParams::test_cmap_sequential_explicit_option SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDetermineCmapParams::test_cmap_divergent_option SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDetermineCmapParams::test_nan_inf_are_ignored SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDetermineCmapParams::test_integer_levels SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDetermineCmapParams::test_list_levels SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDetermineCmapParams::test_divergentcontrol SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDetermineCmapParams::test_norm_sets_vmin_vmax SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDiscreteColorMap::test_recover_from_seaborn_jet_exception SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDiscreteColorMap::test_build_discrete_cmap SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDiscreteColorMap::test_discrete_colormap_list_of_levels SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDiscreteColorMap::test_discrete_colormap_int_levels SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDiscreteColorMap::test_discrete_colormap_list_levels_and_vmin_or_vmax SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestDiscreteColorMap::test_discrete_colormap_provided_boundary_norm SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestContourf::test_label_names SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestContourf::test_1d_raises_valueerror SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestContourf::test_bool SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestContourf::test_complex_raises_typeerror SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestContourf::test_3d_raises_valueerror SKIPPED (requires matplotlib) [ 64%] xarray/tests/test_plot.py::TestContourf::test_nonnumeric_index SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_multiindex_raises_typeerror SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_can_pass_in_axis SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_xyincrease_defaults SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_xyincrease_false_changes_axes SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_xyincrease_true_changes_axes SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_x_ticks_are_rotated_for_time SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_plot_nans SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_can_plot_all_nans SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_can_plot_axis_size_one SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_disallows_rgb_arg SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_viridis_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_default_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_seaborn_palette_as_cmap SKIPPED (requires seaborn) [ 65%] xarray/tests/test_plot.py::TestContourf::test_can_change_default_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_diverging_color_limits SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_xy_strings SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_positional_coord_string SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_bad_x_string_exception SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_coord_strings SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_non_linked_coords SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_non_linked_coords_transpose SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_multiindex_level_as_coord SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_default_title SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_colorbar_default_label SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_no_labels SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_colorbar_kwargs SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_verbose_facetgrid SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_2d_function_and_method_signature_same SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_convenient_facetgrid SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_convenient_facetgrid_4d SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_facetgrid_map_only_appends_mappables SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_facetgrid_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_facetgrid_cbar_kwargs SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_facetgrid_no_cbar_ax SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_cmap_and_color_both SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_2d_coord_with_interval SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_colormap_error_norm_and_vmin_vmax SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_contourf_called SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_primitive_artist_returned SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_extend SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_2d_coord_names SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContourf::test_levels SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_label_names SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_1d_raises_valueerror SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_bool SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_complex_raises_typeerror SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_3d_raises_valueerror SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_nonnumeric_index SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_multiindex_raises_typeerror SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_can_pass_in_axis SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_xyincrease_defaults SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_xyincrease_false_changes_axes SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_xyincrease_true_changes_axes SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_x_ticks_are_rotated_for_time SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_plot_nans SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_can_plot_all_nans SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_can_plot_axis_size_one SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_disallows_rgb_arg SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_viridis_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_default_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_seaborn_palette_as_cmap SKIPPED (requires seaborn) [ 65%] xarray/tests/test_plot.py::TestContour::test_can_change_default_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_diverging_color_limits SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_xy_strings SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_positional_coord_string SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_bad_x_string_exception SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_coord_strings SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_non_linked_coords SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_non_linked_coords_transpose SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_multiindex_level_as_coord SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_default_title SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_colorbar_default_label SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_no_labels SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_colorbar_kwargs SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_verbose_facetgrid SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_2d_function_and_method_signature_same SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_convenient_facetgrid SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_convenient_facetgrid_4d SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_facetgrid_map_only_appends_mappables SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_facetgrid_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_facetgrid_cbar_kwargs SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_facetgrid_no_cbar_ax SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_2d_coord_with_interval SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_colormap_error_norm_and_vmin_vmax SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_colors SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_colors_np_levels SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_cmap_and_color_both SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_2d_coord_names SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestContour::test_single_level SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_label_names SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_1d_raises_valueerror SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_bool SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_complex_raises_typeerror SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_3d_raises_valueerror SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_nonnumeric_index SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_multiindex_raises_typeerror SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_can_pass_in_axis SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_xyincrease_defaults SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_xyincrease_false_changes_axes SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_xyincrease_true_changes_axes SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_x_ticks_are_rotated_for_time SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_plot_nans SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_can_plot_all_nans SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_can_plot_axis_size_one SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_disallows_rgb_arg SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_viridis_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_default_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_seaborn_palette_as_cmap SKIPPED (requires seaborn) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_can_change_default_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_diverging_color_limits SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_xy_strings SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_positional_coord_string SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_bad_x_string_exception SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_coord_strings SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_non_linked_coords SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_non_linked_coords_transpose SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_multiindex_level_as_coord SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_default_title SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_colorbar_default_label SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_no_labels SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_colorbar_kwargs SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_verbose_facetgrid SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_2d_function_and_method_signature_same SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_convenient_facetgrid SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_convenient_facetgrid_4d SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_facetgrid_map_only_appends_mappables SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_facetgrid_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_facetgrid_cbar_kwargs SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_facetgrid_no_cbar_ax SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_cmap_and_color_both SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_2d_coord_with_interval SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_colormap_error_norm_and_vmin_vmax SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_primitive_artist_returned SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_everything_plotted SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_2d_coord_names SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormesh::test_dont_infer_interval_breaks_for_cartopy SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestPcolormeshLogscale::test_interval_breaks_logspace SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_label_names SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_1d_raises_valueerror SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_bool SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_complex_raises_typeerror SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_3d_raises_valueerror SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_nonnumeric_index SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_multiindex_raises_typeerror SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_can_pass_in_axis SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_xyincrease_defaults SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_xyincrease_false_changes_axes SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_xyincrease_true_changes_axes SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_x_ticks_are_rotated_for_time SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_plot_nans SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_can_plot_all_nans SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_can_plot_axis_size_one SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_disallows_rgb_arg SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_viridis_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_default_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_seaborn_palette_as_cmap SKIPPED (requires seaborn) [ 65%] xarray/tests/test_plot.py::TestImshow::test_can_change_default_cmap SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_diverging_color_limits SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_xy_strings SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_positional_coord_string SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_bad_x_string_exception SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_coord_strings SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_non_linked_coords SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_non_linked_coords_transpose SKIPPED (requires matplotlib) [ 65%] xarray/tests/test_plot.py::TestImshow::test_multiindex_level_as_coord SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_default_title SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_colorbar_default_label SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_no_labels SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_colorbar_kwargs SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_verbose_facetgrid SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_2d_function_and_method_signature_same SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_convenient_facetgrid SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_convenient_facetgrid_4d SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_facetgrid_map_only_appends_mappables SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_facetgrid_cmap SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_facetgrid_cbar_kwargs SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_facetgrid_no_cbar_ax SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_cmap_and_color_both SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_2d_coord_with_interval SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_colormap_error_norm_and_vmin_vmax SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_imshow_called SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_xy_pixel_centered SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_default_aspect_is_auto SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_cannot_change_mpl_aspect SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_primitive_artist_returned SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_seaborn_palette_needs_levels SKIPPED (requires seaborn) [ 66%] xarray/tests/test_plot.py::TestImshow::test_2d_coord_names SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_plot_rgb_image SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_plot_rgb_image_explicit SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_plot_rgb_faceted SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_plot_rgba_image_transposed SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_warns_ambigious_dim SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_rgb_errors_too_many_dims SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_rgb_errors_bad_dim_sizes SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_normalize_rgb_imshow[-1-None-False] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_normalize_rgb_imshow[None-2-False] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_normalize_rgb_imshow[-1-1-False] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_normalize_rgb_imshow[0-0-False] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_normalize_rgb_imshow[0-None-True] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_normalize_rgb_imshow[None--1-True] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_normalize_rgb_one_arg_error SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_imshow_rgb_values_in_valid_range SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_regression_rgb_imshow_dim_size_one SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestImshow::test_origin_overrides_xyincrease SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_label_names SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_1d_raises_valueerror SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_bool SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_complex_raises_typeerror SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_3d_raises_valueerror SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_nonnumeric_index SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_multiindex_raises_typeerror SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_xyincrease_defaults SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_x_ticks_are_rotated_for_time SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_plot_nans SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_can_plot_all_nans SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_can_plot_axis_size_one SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_disallows_rgb_arg SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_xy_strings SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_positional_coord_string SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_bad_x_string_exception SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_coord_strings SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_non_linked_coords SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_non_linked_coords_transpose SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_multiindex_level_as_coord SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_default_title SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_no_labels SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_verbose_facetgrid SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_2d_function_and_method_signature_same SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_convenient_facetgrid_4d SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_facetgrid_cmap SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_facetgrid_cbar_kwargs SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_facetgrid_no_cbar_ax SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_2d_coord_with_interval SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_colormap_error_norm_and_vmin_vmax SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_primitive_artist_returned SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_2d_coord_names SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_xyincrease_false_changes_axes SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_xyincrease_true_changes_axes SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_can_pass_in_axis SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_default_cmap SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_diverging_color_limits SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_colorbar_kwargs SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_cmap_and_color_both SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_seaborn_palette_as_cmap SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_convenient_facetgrid SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_viridis_cmap SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_can_change_default_cmap SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_colorbar_default_label SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestSurface::test_facetgrid_map_only_appends_mappables SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_no_args SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_names_appear_somewhere SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_text_not_super_long SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_colorbar SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_empty_cell SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_norow_nocol_error SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_groups SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_float_index SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_nonunique_index_error SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_robust SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_can_set_vmin_vmax SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_vmin_vmax_equal SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_can_set_norm SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_figure_size SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_num_ticks SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_map SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_map_dataset SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_set_axis_labels SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_facetgrid_colorbar SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid::test_facetgrid_polar SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid4d::test_title_kwargs SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetGrid4d::test_default_labels SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetedLinePlotsLegend::test_legend_labels SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetedLinePlots::test_facetgrid_shape SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetedLinePlots::test_unnamed_args SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetedLinePlots::test_default_labels SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetedLinePlots::test_test_empty_cell SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetedLinePlots::test_set_axis_labels SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetedLinePlots::test_axes_in_faceted_plot SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetedLinePlots::test_figsize_and_size SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestFacetedLinePlots::test_wrong_num_of_dimensions SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetQuiverPlots::test_quiver SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetQuiverPlots::test_facetgrid SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetQuiverPlots::test_add_guide[None-None-False-True] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetQuiverPlots::test_add_guide[False-None-False-False] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetQuiverPlots::test_add_guide[True-None-False-True] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetQuiverPlots::test_add_guide[True-continuous-False-True] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetStreamplotPlots::test_streamline SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetStreamplotPlots::test_facetgrid SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_accessor SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_add_guide[None-None-False-True] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_add_guide[False-None-False-False] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_add_guide[True-None-False-True] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_add_guide[True-continuous-False-True] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_add_guide[False-discrete-False-False] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_add_guide[True-discrete-True-False] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_facetgrid_shape SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_default_labels SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_axes_in_faceted_plot SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_figsize_and_size SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_bad_args[bad_y] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_bad_args[bad_x] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_datetime_hue[discrete] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_datetime_hue[continuous] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_facetgrid_hue_style[discrete] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_facetgrid_hue_style[continuous] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_scatter[A-B-x-col] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_scatter[x-row-A-B] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_non_numeric_legend SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_legend_labels SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_legend_labels_facetgrid SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatasetScatterPlots::test_add_legend_by_default SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatetimePlot::test_datetime_line_plot SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatetimePlot::test_datetime_units SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatetimePlot::test_datetime_plot1d SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestDatetimePlot::test_datetime_plot2d SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestCFDatetimePlot::test_cfdatetime_line_plot SKIPPED (nc_time_axis is not installed) [ 66%] xarray/tests/test_plot.py::TestCFDatetimePlot::test_cfdatetime_pcolormesh_plot SKIPPED (nc_time_axis is not installed) [ 66%] xarray/tests/test_plot.py::TestCFDatetimePlot::test_cfdatetime_contour_plot SKIPPED (nc_time_axis is not installed) [ 66%] xarray/tests/test_plot.py::TestNcAxisNotInstalled::test_ncaxis_notinstalled_line_plot SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestAxesKwargs::test_xincrease_kwarg[1-True] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestAxesKwargs::test_xincrease_kwarg[1-False] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestAxesKwargs::test_xincrease_kwarg[2-True] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestAxesKwargs::test_xincrease_kwarg[2-False] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestAxesKwargs::test_xincrease_kwarg[3-True] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestAxesKwargs::test_xincrease_kwarg[3-False] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestAxesKwargs::test_yincrease_kwarg[1-True] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestAxesKwargs::test_yincrease_kwarg[1-False] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestAxesKwargs::test_yincrease_kwarg[2-True] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestAxesKwargs::test_yincrease_kwarg[2-False] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestAxesKwargs::test_yincrease_kwarg[3-True] SKIPPED (requires matplotlib) [ 66%] xarray/tests/test_plot.py::TestAxesKwargs::test_yincrease_kwarg[3-False] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xscale_kwarg[1-linear] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xscale_kwarg[1-logit] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xscale_kwarg[1-symlog] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xscale_kwarg[2-linear] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xscale_kwarg[2-logit] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xscale_kwarg[2-symlog] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xscale_kwarg[3-linear] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xscale_kwarg[3-logit] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xscale_kwarg[3-symlog] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_yscale_kwarg[1-linear] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_yscale_kwarg[1-logit] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_yscale_kwarg[1-symlog] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_yscale_kwarg[2-linear] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_yscale_kwarg[2-logit] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_yscale_kwarg[2-symlog] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_yscale_kwarg[3-linear] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_yscale_kwarg[3-logit] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_yscale_kwarg[3-symlog] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xscale_log_kwarg[1] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xscale_log_kwarg[2] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_yscale_log_kwarg[1] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_yscale_log_kwarg[2] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xlim_kwarg[1] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xlim_kwarg[2] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xlim_kwarg[3] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_ylim_kwarg[1] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_ylim_kwarg[2] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_ylim_kwarg[3] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xticks_kwarg[1] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xticks_kwarg[2] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_xticks_kwarg[3] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_yticks_kwarg[1] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_yticks_kwarg[2] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::TestAxesKwargs::test_yticks_kwarg[3] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_transposed_nondim_coord[pcolormesh] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_transposed_nondim_coord[contourf] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_transposed_nondim_coord[contour] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_transposes_properly[pcolormesh] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_transposes_properly[imshow] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_facetgrid_single_contour SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_get_axis_raises SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_get_axis[figsize] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_get_axis[figsize_kwargs] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_get_axis[size] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_get_axis[size_kwargs] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_get_axis[size+aspect] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_get_axis[auto_aspect] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_get_axis[equal_aspect] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_get_axis[ax] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_get_axis[default] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_get_axis[default_kwargs] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_get_axis_cartopy[figsize] SKIPPED (requires cartopy) [ 67%] xarray/tests/test_plot.py::test_get_axis_cartopy[size] SKIPPED (requires cartopy) [ 67%] xarray/tests/test_plot.py::test_get_axis_cartopy[size+aspect] SKIPPED (requires cartopy) [ 67%] xarray/tests/test_plot.py::test_get_axis_cartopy[default] SKIPPED (requires cartopy) [ 67%] xarray/tests/test_plot.py::test_get_axis_current SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_maybe_gca SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_datarray_scatter[A-B-None-None-None-None-None-None-None] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_datarray_scatter[B-A-None-w-None-None-None-True-None] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_datarray_scatter[A-B-None-y-x-None-None-True-True] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_datarray_scatter[A-B-z-None-None-None-None-None-None] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_datarray_scatter[B-A-z-w-None-None-None-True-None] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_datarray_scatter[A-B-z-y-x-None-None-True-True] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_datarray_scatter[A-B-z-y-x-w-None-True-True] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_assert_valid_xy SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[__call__-empty] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[__call__-scalar] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[line-empty] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[line-scalar] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[step-empty] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[step-scalar] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[contour-empty] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[contour-scalar] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[contourf-empty] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[contourf-scalar] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[hist-empty] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[hist-scalar] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[imshow-empty] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[imshow-scalar] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[pcolormesh-empty] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[pcolormesh-scalar] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[scatter-empty] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[scatter-scalar] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[surface-empty] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_plot_empty_raises[surface-scalar] SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plot.py::test_facetgrid_axes_raises_deprecation_warning SKIPPED (requires matplotlib) [ 67%] xarray/tests/test_plugins.py::test_remove_duplicates PASSED [ 67%] xarray/tests/test_plugins.py::test_broken_plugin PASSED [ 67%] xarray/tests/test_plugins.py::test_remove_duplicates_warnings PASSED [ 67%] xarray/tests/test_plugins.py::test_backends_dict_from_pkg PASSED [ 67%] xarray/tests/test_plugins.py::test_set_missing_parameters PASSED [ 67%] xarray/tests/test_plugins.py::test_set_missing_parameters_raise_error PASSED [ 67%] xarray/tests/test_plugins.py::test_build_engines PASSED [ 67%] xarray/tests/test_plugins.py::test_build_engines_sorted PASSED [ 67%] xarray/tests/test_plugins.py::test_no_matching_engine_found PASSED [ 67%] xarray/tests/test_plugins.py::test_engines_not_installed PASSED [ 67%] xarray/tests/test_plugins.py::test_lazy_import PASSED [ 67%] xarray/tests/test_print_versions.py::test_show_versions PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-1-True-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-1-True-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-1-False-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-1-False-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-2-True-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-2-True-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-2-False-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-2-False-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-3-True-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-3-True-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-3-False-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-3-False-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-7-True-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-7-True-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-7-False-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[numpy-7-False-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-1-True-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-1-True-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-1-False-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-1-False-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-2-True-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-2-True-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-2-False-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-2-False-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-3-True-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-3-True-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-3-False-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-3-False-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-7-True-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-7-True-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-7-False-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_iter[dask-7-False-2] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_repr[numpy-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_repr[dask-1] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_repeated_rolling_rechunks PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_doc[1-numpy] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_doc[1-dask] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_properties[1-numpy] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_properties[1-dask] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-True-sum] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-True-mean] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-True-std] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-True-min] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-True-max] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-True-median] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-False-sum] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-False-mean] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-False-std] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-False-min] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-False-max] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-False-median] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-None-sum] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-None-mean] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-None-std] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-None-min] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-None-max] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-1-None-median] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-True-sum] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-True-mean] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-True-std] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-True-min] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-True-max] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-True-median] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-False-sum] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-False-mean] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-False-std] PASSED [ 67%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-False-min] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-False-max] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-False-median] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-None-sum] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-None-mean] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-None-std] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-None-min] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-None-max] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_bottleneck[1-numpy-None-None-median] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-7-1-True-mean] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-7-1-True-count] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-7-1-False-mean] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-7-1-False-count] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-7-1-None-mean] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-7-1-None-count] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-7-None-True-mean] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-7-None-True-count] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-7-None-False-mean] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-7-None-False-count] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-7-None-None-mean] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-7-None-None-count] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-8-1-True-mean] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-8-1-True-count] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-8-1-False-mean] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-8-1-False-count] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-8-1-None-mean] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-8-1-None-count] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-8-None-True-mean] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-8-None-True-count] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-8-None-False-mean] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-8-None-False-count] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-8-None-None-mean] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask[1-dask-8-None-None-count] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask_nochunk[True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask_nochunk[None] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[1-None-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[1-None-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[1-1-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[1-1-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[1-2-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[1-2-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[1-3-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[1-3-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[2-None-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[2-None-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[2-1-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[2-1-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[2-2-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[2-2-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[2-3-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[2-3-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[3-None-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[3-None-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[3-1-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[3-1-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[3-2-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[3-2-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[3-3-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[3-3-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[4-None-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[4-None-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[4-1-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[4-1-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[4-2-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[4-2-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[4-3-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_pandas_compat[4-3-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_construct[1-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_construct[1-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_construct[2-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_construct[2-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_construct[3-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_construct[3-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_construct[4-True] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_construct[4-False] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-None-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-None-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-None-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-None-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-1-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-1-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-1-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-1-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-2-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-2-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-2-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-2-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-3-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-3-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-3-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-1-3-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-None-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-None-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-None-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-None-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-1-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-1-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-1-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-1-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-2-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-2-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-2-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-2-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-3-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-3-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-3-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-2-3-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-None-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-None-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-None-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-None-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-1-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-1-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-1-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-1-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-2-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-2-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-2-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-2-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-3-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-3-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-3-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-3-3-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-None-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-None-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-None-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-None-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-1-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-1-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-1-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-1-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-2-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-2-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-2-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-2-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-3-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-3-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-3-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-sum-4-3-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-None-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-None-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-None-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-None-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-1-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-1-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-1-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-1-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-2-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-2-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-2-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-2-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-3-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-3-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-3-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-1-3-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-None-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-None-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-None-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-None-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-1-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-1-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-1-False-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-1-False-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-2-True-1] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-2-True-2] PASSED [ 68%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-2-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-2-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-3-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-3-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-3-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-2-3-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-None-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-None-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-None-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-None-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-1-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-1-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-1-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-1-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-2-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-2-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-2-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-2-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-3-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-3-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-3-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-3-3-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-None-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-None-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-None-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-None-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-1-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-1-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-1-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-1-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-2-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-2-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-2-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-2-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-3-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-3-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-3-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-mean-4-3-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-None-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-None-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-None-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-None-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-1-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-1-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-1-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-1-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-2-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-2-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-2-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-2-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-3-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-3-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-3-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-1-3-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-None-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-None-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-None-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-None-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-1-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-1-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-1-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-1-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-2-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-2-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-2-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-2-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-3-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-3-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-3-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-2-3-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-None-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-None-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-None-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-None-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-1-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-1-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-1-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-1-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-2-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-2-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-2-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-2-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-3-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-3-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-3-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-3-3-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-None-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-None-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-None-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-None-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-1-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-1-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-1-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-1-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-2-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-2-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-2-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-2-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-3-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-3-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-3-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-std-4-3-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-None-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-None-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-None-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-None-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-1-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-1-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-1-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-1-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-2-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-2-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-2-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-2-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-3-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-3-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-3-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-1-3-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-None-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-None-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-None-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-None-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-1-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-1-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-1-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-1-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-2-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-2-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-2-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-2-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-3-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-3-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-3-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-2-3-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-None-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-None-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-None-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-None-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-1-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-1-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-1-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-1-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-2-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-2-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-2-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-2-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-3-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-3-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-3-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-3-3-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-None-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-None-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-None-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-None-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-1-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-1-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-1-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-1-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-2-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-2-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-2-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-2-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-3-True-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-3-True-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-3-False-1] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[numpy-max-4-3-False-2] PASSED [ 69%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-None-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-None-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-None-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-None-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-1-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-1-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-1-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-1-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-2-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-2-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-2-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-2-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-3-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-3-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-3-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-1-3-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-None-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-None-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-None-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-None-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-1-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-1-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-1-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-1-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-2-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-2-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-2-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-2-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-3-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-3-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-3-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-2-3-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-None-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-None-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-None-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-None-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-1-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-1-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-1-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-1-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-2-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-2-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-2-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-2-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-3-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-3-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-3-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-3-3-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-None-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-None-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-None-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-None-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-1-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-1-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-1-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-1-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-2-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-2-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-2-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-2-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-3-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-3-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-3-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-sum-4-3-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-None-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-None-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-None-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-None-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-1-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-1-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-1-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-1-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-2-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-2-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-2-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-2-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-3-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-3-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-3-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-1-3-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-None-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-None-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-None-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-None-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-1-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-1-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-1-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-1-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-2-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-2-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-2-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-2-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-3-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-3-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-3-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-2-3-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-None-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-None-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-None-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-None-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-1-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-1-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-1-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-1-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-2-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-2-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-2-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-2-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-3-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-3-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-3-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-3-3-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-None-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-None-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-None-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-None-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-1-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-1-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-1-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-1-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-2-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-2-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-2-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-2-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-3-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-3-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-3-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-mean-4-3-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-None-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-None-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-None-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-None-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-1-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-1-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-1-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-1-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-2-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-2-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-2-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-2-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-3-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-3-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-3-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-1-3-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-None-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-None-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-None-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-None-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-1-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-1-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-1-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-1-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-2-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-2-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-2-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-2-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-3-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-3-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-3-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-2-3-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-None-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-None-True-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-None-False-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-None-False-2] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-1-True-1] PASSED [ 70%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-1-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-1-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-1-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-2-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-2-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-2-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-2-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-3-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-3-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-3-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-3-3-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-None-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-None-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-None-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-None-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-1-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-1-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-1-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-1-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-2-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-2-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-2-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-2-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-3-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-3-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-3-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-std-4-3-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-None-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-None-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-None-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-None-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-1-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-1-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-1-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-1-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-2-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-2-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-2-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-2-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-3-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-3-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-3-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-1-3-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-None-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-None-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-None-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-None-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-1-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-1-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-1-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-1-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-2-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-2-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-2-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-2-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-3-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-3-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-3-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-2-3-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-None-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-None-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-None-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-None-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-1-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-1-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-1-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-1-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-2-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-2-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-2-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-2-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-3-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-3-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-3-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-3-3-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-None-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-None-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-None-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-None-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-1-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-1-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-1-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-1-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-2-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-2-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-2-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-2-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-3-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-3-True-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-3-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce[dask-max-4-3-False-2] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-1-None-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-1-None-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-1-1-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-1-1-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-1-2-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-1-2-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-1-3-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-1-3-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-2-None-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-2-None-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-2-1-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-2-1-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-2-2-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-2-2-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-2-3-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-2-3-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-3-None-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-3-None-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-3-1-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-3-1-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-3-2-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-3-2-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-3-3-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-3-3-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-4-None-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-4-None-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-4-1-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-4-1-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-4-2-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-4-2-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-4-3-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[sum-4-3-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-1-None-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-1-None-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-1-1-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-1-1-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-1-2-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-1-2-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-1-3-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-1-3-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-2-None-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-2-None-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-2-1-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-2-1-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-2-2-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-2-2-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-2-3-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-2-3-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-3-None-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-3-None-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-3-1-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-3-1-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-3-2-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-3-2-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-3-3-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-3-3-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-4-None-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-4-None-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-4-1-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-4-1-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-4-2-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-4-2-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-4-3-True] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_reduce_nonnumeric[max-4-3-False] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_count_correct PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[numpy-sum-None-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[numpy-sum-None-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[numpy-sum-1-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[numpy-sum-1-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[numpy-mean-None-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[numpy-mean-None-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[numpy-mean-1-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[numpy-mean-1-False-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[numpy-max-None-True-1] PASSED [ 71%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[numpy-max-None-False-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[numpy-max-1-True-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[numpy-max-1-False-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[dask-sum-None-True-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[dask-sum-None-False-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[dask-sum-1-True-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[dask-sum-1-False-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[dask-mean-None-True-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[dask-mean-None-False-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[dask-mean-1-True-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[dask-mean-1-False-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[dask-max-None-True-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[dask-max-None-False-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[dask-max-1-True-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_reduce[dask-max-1-False-1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_construct[nan-True] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_construct[nan-False] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_construct[nan-center2] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_construct[0.0-True] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_construct[0.0-False] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_ndrolling_construct[0.0-center2] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_keep_attrs[reduce-argument0] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_keep_attrs[mean-argument1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_keep_attrs[construct-argument2] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_keep_attrs[count-argument3] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_dask_dtype[int] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_dask_dtype[float32] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_dask_dtype[float64] PASSED [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-mean-numpy-span-5-time] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-mean-numpy-span-5-x] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-mean-numpy-alpha-0.5-time] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-mean-numpy-alpha-0.5-x] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-mean-numpy-com-0.5-time] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-mean-numpy-com-0.5-x] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-mean-numpy-halflife-5-time] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-mean-numpy-halflife-5-x] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-sum-numpy-span-5-time] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-sum-numpy-span-5-x] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-sum-numpy-alpha-0.5-time] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-sum-numpy-alpha-0.5-x] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-sum-numpy-com-0.5-time] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-sum-numpy-com-0.5-x] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-sum-numpy-halflife-5-time] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_runs[1-sum-numpy-halflife-5-x] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_mean_pandas[1-numpy-span-5-time] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_mean_pandas[1-numpy-span-5-x] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_mean_pandas[1-numpy-alpha-0.5-time] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_mean_pandas[1-numpy-alpha-0.5-x] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_mean_pandas[1-numpy-com-0.5-time] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_mean_pandas[1-numpy-com-0.5-x] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_mean_pandas[1-numpy-halflife-5-time] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_mean_pandas[1-numpy-halflife-5-x] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_keep_attrs[1-mean-numpy] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDataArrayRollingExp::test_rolling_exp_keep_attrs[1-sum-numpy] SKIPPED (requires numbagg) [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_keep_attrs[reduce-argument0] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_keep_attrs[mean-argument1] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_keep_attrs[construct-argument2] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_keep_attrs[count-argument3] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_properties[1-numpy] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_properties[1-dask] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-True-sum] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-True-mean] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-True-std] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-True-var] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-True-min] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-True-max] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-True-median] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-False-sum] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-False-mean] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-False-std] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-False-var] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-False-min] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-False-max] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-False-median] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-None-sum] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-None-mean] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-None-std] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-None-var] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-None-min] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-None-max] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-1-None-median] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-True-sum] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-True-mean] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-True-std] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-True-var] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-True-min] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-True-max] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-True-median] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-False-sum] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-False-mean] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-False-std] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-False-var] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-False-min] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-False-max] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-False-median] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-None-sum] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-None-mean] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-None-std] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-None-var] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-None-min] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-None-max] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z1-None-None-median] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-True-sum] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-True-mean] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-True-std] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-True-var] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-True-min] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-True-max] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-True-median] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-False-sum] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-False-mean] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-False-std] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-False-var] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-False-min] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-False-max] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-False-median] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-None-sum] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-None-mean] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-None-std] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-None-var] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-None-min] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-None-max] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-1-None-median] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-True-sum] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-True-mean] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-True-std] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-True-var] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-True-min] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-True-max] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-True-median] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-False-sum] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-False-mean] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-False-std] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-False-var] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-False-min] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-False-max] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-False-median] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-None-sum] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-None-mean] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-None-std] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-None-var] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-None-min] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-None-max] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_wrapped_bottleneck[1-numpy-z2-None-None-median] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[1-None-True] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[1-None-False] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[1-1-True] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[1-1-False] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[1-2-True] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[1-2-False] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[1-3-True] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[1-3-False] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[2-None-True] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[2-None-False] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[2-1-True] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[2-1-False] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[2-2-True] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[2-2-False] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[2-3-True] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[2-3-False] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[3-None-True] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[3-None-False] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[3-1-True] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[3-1-False] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[3-2-True] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[3-2-False] PASSED [ 72%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[3-3-True] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[3-3-False] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[4-None-True] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[4-None-False] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[4-1-True] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[4-1-False] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[4-2-True] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[4-2-False] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[4-3-True] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_pandas_compat[4-3-False] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_construct[1-True] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_construct[1-False] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_construct[2-True] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_construct[2-False] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_construct[3-True] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_construct[3-False] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_construct[4-True] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_construct[4-False] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-None-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-None-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-None-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-None-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-1-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-1-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-1-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-1-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-2-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-2-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-2-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-2-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-3-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-3-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-3-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-1-3-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-None-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-None-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-None-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-None-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-1-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-1-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-1-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-1-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-2-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-2-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-2-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-2-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-3-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-3-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-3-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-2-3-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-None-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-None-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-None-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-None-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-1-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-1-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-1-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-1-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-2-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-2-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-2-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-2-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-3-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-3-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-3-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-3-3-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-None-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-None-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-None-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-None-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-1-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-1-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-1-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-1-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-2-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-2-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-2-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-2-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-3-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-3-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-3-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-sum-4-3-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-None-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-None-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-None-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-None-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-1-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-1-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-1-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-1-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-2-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-2-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-2-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-2-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-3-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-3-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-3-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-1-3-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-None-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-None-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-None-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-None-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-1-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-1-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-1-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-1-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-2-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-2-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-2-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-2-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-3-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-3-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-3-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-2-3-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-None-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-None-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-None-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-None-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-1-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-1-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-1-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-1-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-2-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-2-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-2-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-2-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-3-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-3-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-3-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-3-3-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-None-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-None-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-None-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-None-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-1-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-1-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-1-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-1-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-2-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-2-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-2-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-2-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-3-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-3-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-3-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-mean-4-3-False-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-None-True-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-None-True-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-None-False-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-None-False-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-1-True-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-1-True-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-1-False-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-1-False-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-2-True-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-2-True-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-2-False-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-2-False-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-3-True-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-3-True-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-3-False-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-1-3-False-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-None-True-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-None-True-2] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-None-False-1] PASSED [ 73%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-None-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-1-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-1-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-1-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-1-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-2-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-2-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-2-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-2-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-3-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-3-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-3-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-2-3-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-None-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-None-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-None-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-None-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-1-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-1-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-1-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-1-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-2-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-2-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-2-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-2-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-3-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-3-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-3-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-3-3-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-None-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-None-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-None-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-None-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-1-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-1-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-1-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-1-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-2-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-2-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-2-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-2-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-3-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-3-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-3-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-std-4-3-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-None-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-None-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-None-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-None-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-1-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-1-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-1-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-1-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-2-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-2-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-2-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-2-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-3-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-3-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-3-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-1-3-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-None-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-None-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-None-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-None-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-1-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-1-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-1-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-1-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-2-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-2-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-2-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-2-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-3-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-3-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-3-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-2-3-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-None-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-None-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-None-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-None-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-1-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-1-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-1-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-1-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-2-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-2-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-2-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-2-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-3-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-3-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-3-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-3-3-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-None-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-None-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-None-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-None-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-1-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-1-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-1-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-1-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-2-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-2-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-2-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-2-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-3-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-3-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-3-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-var-4-3-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-None-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-None-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-None-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-None-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-1-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-1-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-1-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-1-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-2-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-2-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-2-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-2-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-3-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-3-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-3-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-1-3-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-None-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-None-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-None-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-None-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-1-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-1-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-1-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-1-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-2-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-2-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-2-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-2-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-3-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-3-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-3-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-2-3-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-None-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-None-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-None-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-None-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-1-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-1-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-1-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-1-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-2-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-2-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-2-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-2-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-3-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-3-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-3-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-3-3-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-None-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-None-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-None-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-None-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-1-True-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-1-True-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-1-False-1] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-1-False-2] PASSED [ 74%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-2-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-2-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-2-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-2-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-3-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-3-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-3-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-min-4-3-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-None-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-None-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-None-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-None-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-1-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-1-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-1-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-1-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-2-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-2-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-2-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-2-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-3-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-3-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-3-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-1-3-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-None-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-None-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-None-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-None-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-1-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-1-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-1-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-1-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-2-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-2-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-2-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-2-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-3-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-3-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-3-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-2-3-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-None-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-None-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-None-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-None-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-1-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-1-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-1-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-1-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-2-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-2-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-2-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-2-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-3-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-3-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-3-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-3-3-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-None-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-None-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-None-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-None-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-1-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-1-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-1-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-1-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-2-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-2-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-2-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-2-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-3-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-3-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-3-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-max-4-3-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-None-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-None-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-None-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-None-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-1-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-1-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-1-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-1-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-2-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-2-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-2-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-2-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-3-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-3-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-3-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-1-3-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-None-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-None-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-None-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-None-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-1-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-1-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-1-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-1-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-2-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-2-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-2-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-2-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-3-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-3-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-3-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-2-3-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-None-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-None-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-None-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-None-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-1-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-1-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-1-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-1-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-2-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-2-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-2-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-2-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-3-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-3-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-3-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-3-3-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-None-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-None-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-None-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-None-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-1-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-1-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-1-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-1-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-2-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-2-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-2-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-2-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-3-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-3-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-3-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[numpy-median-4-3-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-None-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-None-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-None-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-None-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-1-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-1-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-1-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-1-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-2-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-2-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-2-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-2-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-3-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-3-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-3-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-1-3-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-None-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-None-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-None-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-None-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-1-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-1-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-1-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-1-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-2-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-2-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-2-False-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-2-False-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-3-True-1] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-3-True-2] PASSED [ 75%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-3-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-2-3-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-None-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-None-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-None-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-None-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-1-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-1-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-1-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-1-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-2-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-2-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-2-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-2-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-3-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-3-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-3-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-3-3-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-None-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-None-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-None-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-None-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-1-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-1-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-1-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-1-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-2-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-2-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-2-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-2-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-3-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-3-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-3-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-sum-4-3-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-None-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-None-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-None-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-None-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-1-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-1-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-1-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-1-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-2-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-2-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-2-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-2-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-3-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-3-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-3-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-1-3-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-None-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-None-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-None-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-None-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-1-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-1-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-1-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-1-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-2-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-2-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-2-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-2-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-3-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-3-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-3-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-2-3-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-None-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-None-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-None-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-None-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-1-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-1-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-1-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-1-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-2-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-2-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-2-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-2-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-3-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-3-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-3-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-3-3-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-None-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-None-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-None-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-None-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-1-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-1-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-1-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-1-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-2-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-2-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-2-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-2-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-3-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-3-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-3-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-mean-4-3-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-None-True-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-None-True-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-None-False-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-None-False-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-1-True-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-1-True-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-1-False-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-1-False-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-2-True-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-2-True-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-2-False-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-2-False-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-3-True-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-3-True-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-3-False-1] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-1-3-False-2] SKIPPED (std with window == 1 is unstable in bottleneck) [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-None-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-None-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-None-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-None-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-1-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-1-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-1-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-1-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-2-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-2-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-2-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-2-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-3-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-3-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-3-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-2-3-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-None-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-None-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-None-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-None-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-1-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-1-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-1-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-1-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-2-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-2-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-2-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-2-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-3-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-3-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-3-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-3-3-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-None-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-None-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-None-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-None-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-1-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-1-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-1-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-1-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-2-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-2-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-2-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-2-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-3-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-3-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-3-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-std-4-3-False-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-None-True-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-None-True-2] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-None-False-1] PASSED [ 76%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-None-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-1-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-1-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-1-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-1-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-2-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-2-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-2-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-2-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-3-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-3-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-3-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-1-3-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-None-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-None-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-None-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-None-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-1-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-1-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-1-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-1-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-2-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-2-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-2-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-2-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-3-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-3-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-3-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-2-3-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-None-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-None-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-None-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-None-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-1-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-1-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-1-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-1-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-2-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-2-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-2-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-2-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-3-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-3-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-3-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-3-3-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-None-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-None-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-None-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-None-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-1-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-1-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-1-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-1-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-2-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-2-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-2-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-2-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-3-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-3-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-3-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-var-4-3-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-None-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-None-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-None-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-None-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-1-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-1-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-1-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-1-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-2-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-2-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-2-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-2-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-3-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-3-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-3-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-1-3-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-None-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-None-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-None-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-None-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-1-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-1-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-1-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-1-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-2-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-2-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-2-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-2-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-3-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-3-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-3-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-2-3-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-None-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-None-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-None-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-None-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-1-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-1-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-1-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-1-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-2-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-2-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-2-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-2-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-3-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-3-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-3-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-3-3-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-None-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-None-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-None-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-None-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-1-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-1-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-1-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-1-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-2-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-2-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-2-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-2-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-3-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-3-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-3-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-min-4-3-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-None-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-None-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-None-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-None-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-1-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-1-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-1-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-1-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-2-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-2-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-2-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-2-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-3-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-3-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-3-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-1-3-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-None-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-None-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-None-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-None-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-1-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-1-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-1-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-1-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-2-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-2-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-2-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-2-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-3-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-3-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-3-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-2-3-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-None-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-None-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-None-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-None-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-1-True-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-1-True-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-1-False-1] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-1-False-2] PASSED [ 77%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-2-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-2-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-2-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-2-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-3-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-3-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-3-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-3-3-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-None-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-None-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-None-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-None-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-1-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-1-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-1-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-1-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-2-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-2-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-2-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-2-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-3-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-3-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-3-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-max-4-3-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-None-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-None-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-None-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-None-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-1-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-1-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-1-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-1-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-2-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-2-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-2-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-2-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-3-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-3-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-3-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-1-3-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-None-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-None-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-None-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-None-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-1-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-1-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-1-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-1-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-2-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-2-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-2-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-2-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-3-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-3-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-3-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-2-3-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-None-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-None-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-None-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-None-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-1-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-1-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-1-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-1-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-2-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-2-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-2-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-2-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-3-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-3-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-3-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-3-3-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-None-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-None-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-None-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-None-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-1-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-1-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-1-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-1-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-2-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-2-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-2-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-2-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-3-True-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-3-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-3-False-1] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_rolling_reduce[dask-median-4-3-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-True-sum-None-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-True-sum-None-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-True-sum-1-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-True-sum-1-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-True-max-None-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-True-max-None-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-True-max-1-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-True-max-1-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-False-sum-None-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-False-sum-None-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-False-sum-1-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-False-sum-1-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-False-max-None-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-False-max-None-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-False-max-1-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[numpy-False-max-1-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-True-sum-None-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-True-sum-None-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-True-sum-1-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-True-sum-1-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-True-max-None-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-True-max-None-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-True-max-1-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-True-max-1-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-False-sum-None-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-False-sum-None-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-False-sum-1-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-False-sum-1-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-False-max-None-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-False-max-None-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-False-max-1-True-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_reduce[dask-False-max-1-False-2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_construct[True-nan-True] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_construct[True-nan-False] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_construct[True-nan-center2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_construct[True-0.0-True] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_construct[True-0.0-False] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_construct[True-0.0-center2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_construct[False-nan-True] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_construct[False-nan-False] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_construct[False-nan-center2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_construct[False-0.0-True] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_construct[False-0.0-False] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_ndrolling_construct[False-0.0-center2] PASSED [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_raise_no_warning_dask_rolling_assert_close[numpy-mean-2] XPASS (See https://github.com/pydata/xarray/pull/4369 or docstring) [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_raise_no_warning_dask_rolling_assert_close[numpy-max-2] XPASS (See https://github.com/pydata/xarray/pull/4369 or docstring) [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_raise_no_warning_dask_rolling_assert_close[dask-mean-2] XPASS (See https://github.com/pydata/xarray/pull/4369 or docstring) [ 78%] xarray/tests/test_rolling.py::TestDatasetRolling::test_raise_no_warning_dask_rolling_assert_close[dask-max-2] XPASS (See https://github.com/pydata/xarray/pull/4369 or docstring) [ 78%] xarray/tests/test_rolling.py::TestDatasetRollingExp::test_rolling_exp[1-numpy] SKIPPED (requires numbagg) [ 78%] xarray/tests/test_rolling.py::TestDatasetRollingExp::test_rolling_exp_keep_attrs[1-numpy] SKIPPED (requires numbagg) [ 78%] xarray/tests/test_testing.py::test_allclose_regression PASSED [ 78%] xarray/tests/test_testing.py::test_assert_allclose[Variable] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_allclose[DataArray] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_allclose[Dataset] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal_failing[both arrays-numpy] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal_failing[both arrays-dask] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal_failing[both arrays-pint] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal_failing[second scalar-numpy] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal_failing[second scalar-dask] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal_failing[second scalar-pint] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal_failing[first scalar-numpy] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal_failing[first scalar-dask] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal_failing[first scalar-pint] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal[both arrays-numpy] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal[both arrays-dask] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal[both arrays-pint] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal[second scalar-numpy] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal[second scalar-dask] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal[second scalar-pint] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal[first scalar-numpy] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal[first scalar-dask] PASSED [ 78%] xarray/tests/test_testing.py::test_assert_duckarray_equal[first scalar-pint] PASSED [ 78%] xarray/tests/test_testing.py::test_ensure_warnings_not_elevated[assert_equal] PASSED [ 78%] xarray/tests/test_testing.py::test_ensure_warnings_not_elevated[assert_identical] PASSED [ 78%] xarray/tests/test_testing.py::test_ensure_warnings_not_elevated[assert_allclose] PASSED [ 78%] xarray/tests/test_testing.py::test_ensure_warnings_not_elevated[assert_duckarray_equal] PASSED [ 78%] xarray/tests/test_testing.py::test_ensure_warnings_not_elevated[assert_duckarray_allclose] PASSED [ 78%] xarray/tests/test_tutorial.py::TestLoadDataset::test_download_from_github SKIPPED (set --run-network-tests to run test requiring an internet connection) [ 78%] xarray/tests/test_tutorial.py::TestLoadDataset::test_download_from_github_load_without_cache SKIPPED (set --run-network-tests to run test requiring an internet connection) [ 79%] xarray/tests/test_ufuncs.py::test_unary PASSED [ 79%] xarray/tests/test_ufuncs.py::test_binary PASSED [ 79%] xarray/tests/test_ufuncs.py::test_binary_out PASSED [ 79%] xarray/tests/test_ufuncs.py::test_groupby PASSED [ 79%] xarray/tests/test_ufuncs.py::test_alignment PASSED [ 79%] xarray/tests/test_ufuncs.py::test_kwargs PASSED [ 79%] xarray/tests/test_ufuncs.py::test_xarray_defers_to_unrecognized_type PASSED [ 79%] xarray/tests/test_ufuncs.py::test_xarray_handles_dask PASSED [ 79%] xarray/tests/test_ufuncs.py::test_dask_defers_to_xarray PASSED [ 79%] xarray/tests/test_ufuncs.py::test_gufunc_methods PASSED [ 79%] xarray/tests/test_ufuncs.py::test_out PASSED [ 79%] xarray/tests/test_ufuncs.py::test_gufuncs PASSED [ 79%] xarray/tests/test_units.py::test_apply_ufunc_dataarray[float64-data] PASSED [ 79%] xarray/tests/test_units.py::test_apply_ufunc_dataarray[float64-dims] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_apply_ufunc_dataarray[float64-coords] PASSED [ 79%] xarray/tests/test_units.py::test_apply_ufunc_dataarray[int64-data] PASSED [ 79%] xarray/tests/test_units.py::test_apply_ufunc_dataarray[int64-dims] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_apply_ufunc_dataarray[int64-coords] PASSED [ 79%] xarray/tests/test_units.py::test_apply_ufunc_dataset[float64-data] PASSED [ 79%] xarray/tests/test_units.py::test_apply_ufunc_dataset[float64-dims] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_apply_ufunc_dataset[float64-coords] PASSED [ 79%] xarray/tests/test_units.py::test_apply_ufunc_dataset[int64-data] PASSED [ 79%] xarray/tests/test_units.py::test_apply_ufunc_dataset[int64-dims] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_apply_ufunc_dataset[int64-coords] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-data-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-data-dimensionless] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-data-incompatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-data-compatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-data-identical_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-dims-no_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-dims-dimensionless] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-dims-compatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-dims-identical_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-coords-no_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-coords-dimensionless] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-coords-incompatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-coords-compatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-10-coords-identical_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-data-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-data-dimensionless] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-data-incompatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-data-compatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-data-identical_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-dims-no_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-dims-dimensionless] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-dims-compatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-dims-identical_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-coords-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-coords-dimensionless] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-coords-incompatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-coords-compatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[float64-value1-coords-identical_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-data-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-data-dimensionless] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-data-incompatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-data-compatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-data-identical_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-dims-no_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-dims-dimensionless] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-dims-compatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-dims-identical_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-coords-no_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-coords-dimensionless] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-coords-incompatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-coords-compatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-10-coords-identical_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-data-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-data-dimensionless] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-data-incompatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-data-compatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-data-identical_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-dims-no_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-dims-dimensionless] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-dims-compatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-dims-identical_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-coords-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-coords-dimensionless] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-coords-incompatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-coords-compatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataarray[int64-value1-coords-identical_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-data-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-data-dimensionless] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-data-incompatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-data-compatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-data-identical_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-dims-no_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-dims-dimensionless] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-dims-compatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-dims-identical_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-coords-no_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-coords-dimensionless] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-coords-incompatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-coords-compatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-10-coords-identical_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-data-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-data-dimensionless] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-data-incompatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-data-compatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-data-identical_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-dims-no_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-dims-dimensionless] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-dims-compatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-dims-identical_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-coords-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-coords-dimensionless] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-coords-incompatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-coords-compatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[float64-value1-coords-identical_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-data-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-data-dimensionless] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-data-incompatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-data-compatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-data-identical_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-dims-no_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-dims-dimensionless] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-dims-compatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-dims-identical_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-coords-no_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-coords-dimensionless] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-coords-incompatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-coords-compatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-10-coords-identical_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-data-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-data-dimensionless] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-data-incompatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-data-compatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-data-identical_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-dims-no_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-dims-dimensionless] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-dims-compatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-dims-identical_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-coords-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-coords-dimensionless] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-coords-incompatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-coords-compatible_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_align_dataset[int64-value1-coords-identical_unit] XFAIL (fill_value is used for both data variables and coords. See https://github.com/pydata/xarray/issues/4165) [ 79%] xarray/tests/test_units.py::test_broadcast_dataarray[float64] PASSED [ 79%] xarray/tests/test_units.py::test_broadcast_dataarray[int64] PASSED [ 79%] xarray/tests/test_units.py::test_broadcast_dataset[float64] PASSED [ 79%] xarray/tests/test_units.py::test_broadcast_dataset[int64] PASSED [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-data-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-data-dimensionless] PASSED [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-data-incompatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-data-compatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-data-identical_unit] PASSED [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-dims-no_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-dims-dimensionless] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-dims-identical_unit] SKIPPED (indexes don't support units) [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-coords-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-coords-dimensionless] PASSED [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-coords-incompatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-coords-compatible_unit] PASSED [ 79%] xarray/tests/test_units.py::test_combine_by_coords[float64-coords-identical_unit] PASSED [ 79%] xarray/tests/test_units.py::test_combine_by_coords[int64-data-no_unit] PASSED [ 79%] xarray/tests/test_units.py::test_combine_by_coords[int64-data-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_combine_by_coords[int64-data-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_by_coords[int64-data-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_by_coords[int64-data-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_by_coords[int64-dims-no_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_by_coords[int64-dims-dimensionless] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_by_coords[int64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_by_coords[int64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_by_coords[int64-dims-identical_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_by_coords[int64-coords-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_by_coords[int64-coords-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_combine_by_coords[int64-coords-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_by_coords[int64-coords-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_by_coords[int64-coords-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-data-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-data-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-data-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-data-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-data-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-dims-no_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-dims-dimensionless] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-dims-identical_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-coords-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-coords-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-coords-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-coords-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[float64-coords-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-data-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-data-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-data-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-data-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-data-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-dims-no_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-dims-dimensionless] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-dims-identical_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-coords-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-coords-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-coords-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-coords-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_combine_nested[int64-coords-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-data-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-data-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-data-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-data-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-data-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-dims-no_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-dims-dimensionless] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-dims-identical_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-coords-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-coords-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-coords-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-coords-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[float64-coords-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-data-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-data-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-data-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-data-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-data-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-dims-no_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-dims-dimensionless] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-dims-identical_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-coords-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-coords-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-coords-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-coords-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataarray[int64-coords-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-data-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-data-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-data-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-data-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-data-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-dims-no_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-dims-dimensionless] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-dims-identical_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-coords-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-coords-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-coords-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-coords-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[float64-coords-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-data-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-data-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-data-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-data-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-data-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-dims-no_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-dims-dimensionless] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-dims-identical_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-coords-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-coords-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-coords-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-coords-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_concat_dataset[int64-coords-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-data-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-data-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-data-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-data-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-data-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-dims-no_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-dims-dimensionless] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-dims-identical_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-coords-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-coords-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-coords-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-coords-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[float64-coords-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-data-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-data-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-data-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-data-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-data-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-dims-no_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-dims-dimensionless] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-dims-identical_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-coords-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-coords-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-coords-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-coords-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataarray[int64-coords-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-data-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-data-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-data-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-data-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-data-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-dims-no_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-dims-dimensionless] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-dims-identical_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-coords-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-coords-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-coords-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-coords-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[float64-coords-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-data-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-data-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-data-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-data-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-data-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-dims-no_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-dims-dimensionless] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-dims-identical_unit] SKIPPED (indexes don't support units) [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-coords-no_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-coords-dimensionless] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-coords-incompatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-coords-compatible_unit] PASSED [ 80%] xarray/tests/test_units.py::test_merge_dataset[int64-coords-identical_unit] PASSED [ 80%] xarray/tests/test_units.py::test_replication_dataarray[float64-zeros_like-data] PASSED [ 80%] xarray/tests/test_units.py::test_replication_dataarray[float64-zeros_like-dims] SKIPPED (indexes don't support units) [ 81%] xarray/tests/test_units.py::test_replication_dataarray[float64-zeros_like-coords] PASSED [ 81%] xarray/tests/test_units.py::test_replication_dataarray[float64-ones_like-data] PASSED [ 81%] xarray/tests/test_units.py::test_replication_dataarray[float64-ones_like-dims] SKIPPED (indexes don't support units) [ 81%] xarray/tests/test_units.py::test_replication_dataarray[float64-ones_like-coords] PASSED [ 81%] xarray/tests/test_units.py::test_replication_dataarray[int64-zeros_like-data] PASSED [ 81%] xarray/tests/test_units.py::test_replication_dataarray[int64-zeros_like-dims] SKIPPED (indexes don't support units) [ 81%] xarray/tests/test_units.py::test_replication_dataarray[int64-zeros_like-coords] PASSED [ 81%] xarray/tests/test_units.py::test_replication_dataarray[int64-ones_like-data] PASSED [ 81%] xarray/tests/test_units.py::test_replication_dataarray[int64-ones_like-dims] SKIPPED (indexes don't support units) [ 81%] xarray/tests/test_units.py::test_replication_dataarray[int64-ones_like-coords] PASSED [ 81%] xarray/tests/test_units.py::test_replication_dataset[float64-zeros_like-data] PASSED [ 81%] xarray/tests/test_units.py::test_replication_dataset[float64-zeros_like-dims] SKIPPED (indexes don't support units) [ 81%] xarray/tests/test_units.py::test_replication_dataset[float64-zeros_like-coords] PASSED [ 81%] xarray/tests/test_units.py::test_replication_dataset[float64-ones_like-data] PASSED [ 81%] xarray/tests/test_units.py::test_replication_dataset[float64-ones_like-dims] SKIPPED (indexes don't support units) [ 81%] xarray/tests/test_units.py::test_replication_dataset[float64-ones_like-coords] PASSED [ 81%] xarray/tests/test_units.py::test_replication_dataset[int64-zeros_like-data] PASSED [ 81%] xarray/tests/test_units.py::test_replication_dataset[int64-zeros_like-dims] SKIPPED (indexes don't support units) [ 81%] xarray/tests/test_units.py::test_replication_dataset[int64-zeros_like-coords] PASSED [ 81%] xarray/tests/test_units.py::test_replication_dataset[int64-ones_like-data] PASSED [ 81%] xarray/tests/test_units.py::test_replication_dataset[int64-ones_like-dims] SKIPPED (indexes don't support units) [ 81%] xarray/tests/test_units.py::test_replication_dataset[int64-ones_like-coords] PASSED [ 81%] xarray/tests/test_units.py::test_replication_full_like_dataarray[float64-data] PASSED [ 81%] xarray/tests/test_units.py::test_replication_full_like_dataarray[float64-dims] SKIPPED (indexes don't support units) [ 81%] xarray/tests/test_units.py::test_replication_full_like_dataarray[float64-coords] XFAIL (can't copy quantity into non-quantity) [ 81%] xarray/tests/test_units.py::test_replication_full_like_dataarray[int64-data] PASSED [ 81%] xarray/tests/test_units.py::test_replication_full_like_dataarray[int64-dims] SKIPPED (indexes don't support units) [ 81%] xarray/tests/test_units.py::test_replication_full_like_dataarray[int64-coords] XFAIL (can't copy quantity into non-quantity) [ 81%] xarray/tests/test_units.py::test_replication_full_like_dataset[float64-data] PASSED [ 81%] xarray/tests/test_units.py::test_replication_full_like_dataset[float64-dims] SKIPPED (indexes don't support units) [ 81%] xarray/tests/test_units.py::test_replication_full_like_dataset[float64-coords] XFAIL (can't copy quantity into non-quantity) [ 81%] xarray/tests/test_units.py::test_replication_full_like_dataset[int64-data] PASSED [ 81%] xarray/tests/test_units.py::test_replication_full_like_dataset[int64-dims] SKIPPED (indexes don't support units) [ 81%] xarray/tests/test_units.py::test_replication_full_like_dataset[int64-coords] XFAIL (can't copy quantity into non-quantity) [ 81%] xarray/tests/test_units.py::test_where_dataarray[float64-nan-no_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[float64-nan-dimensionless] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[float64-nan-incompatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[float64-nan-compatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[float64-nan-identical_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[float64-10.2-no_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[float64-10.2-dimensionless] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[float64-10.2-incompatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[float64-10.2-compatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[float64-10.2-identical_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[int64-nan-no_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[int64-nan-dimensionless] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[int64-nan-incompatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[int64-nan-compatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[int64-nan-identical_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[int64-10.2-no_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[int64-10.2-dimensionless] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[int64-10.2-incompatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[int64-10.2-compatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataarray[int64-10.2-identical_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[float64-nan-no_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[float64-nan-dimensionless] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[float64-nan-incompatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[float64-nan-compatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[float64-nan-identical_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[float64-10.2-no_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[float64-10.2-dimensionless] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[float64-10.2-incompatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[float64-10.2-compatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[float64-10.2-identical_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[int64-nan-no_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[int64-nan-dimensionless] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[int64-nan-incompatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[int64-nan-compatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[int64-nan-identical_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[int64-10.2-no_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[int64-10.2-dimensionless] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[int64-10.2-incompatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[int64-10.2-compatible_unit] PASSED [ 81%] xarray/tests/test_units.py::test_where_dataset[int64-10.2-identical_unit] PASSED [ 81%] xarray/tests/test_units.py::test_dot_dataarray[float64] PASSED [ 81%] xarray/tests/test_units.py::test_dot_dataarray[int64] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_all] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_any] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_argmax] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_argmin] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_argsort] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_cumprod] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_cumsum] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_max] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_mean] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_median] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_min] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_prod] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_std] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_sum] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[float64-method_var] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_all] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_any] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_argmax] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_argmin] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_argsort] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_cumprod] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_cumsum] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_max] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_mean] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_median] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_min] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_prod] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_std] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_sum] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregation[int64-method_var] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_aggregate_complex PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-no_unit-method_astype] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-no_unit-method_conj] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-no_unit-method_conjugate] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-no_unit-method_clip] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-dimensionless-method_astype] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-dimensionless-method_conj] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-dimensionless-method_conjugate] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-dimensionless-method_clip] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-incompatible_unit-method_astype] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-incompatible_unit-method_conj] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-incompatible_unit-method_conjugate] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-incompatible_unit-method_clip] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-compatible_unit-method_astype] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-compatible_unit-method_conj] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-compatible_unit-method_conjugate] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-compatible_unit-method_clip] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-identical_unit-method_astype] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-identical_unit-method_conj] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-identical_unit-method_conjugate] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[float64-identical_unit-method_clip] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-no_unit-method_astype] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-no_unit-method_conj] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-no_unit-method_conjugate] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-no_unit-method_clip] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-dimensionless-method_astype] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-dimensionless-method_conj] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-dimensionless-method_conjugate] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-dimensionless-method_clip] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-incompatible_unit-method_astype] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-incompatible_unit-method_conj] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-incompatible_unit-method_conjugate] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-incompatible_unit-method_clip] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-compatible_unit-method_astype] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-compatible_unit-method_conj] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-compatible_unit-method_conjugate] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-compatible_unit-method_clip] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-identical_unit-method_astype] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-identical_unit-method_conj] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-identical_unit-method_conjugate] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_numpy_methods[int64-identical_unit-method_clip] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[float64-no_unit-method_item] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[float64-no_unit-method_searchsorted] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[float64-dimensionless-method_item] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[float64-dimensionless-method_searchsorted] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[float64-incompatible_unit-method_item] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[float64-incompatible_unit-method_searchsorted] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[float64-compatible_unit-method_item] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[float64-compatible_unit-method_searchsorted] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[float64-identical_unit-method_item] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[float64-identical_unit-method_searchsorted] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[int64-no_unit-method_item] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[int64-no_unit-method_searchsorted] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[int64-dimensionless-method_item] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[int64-dimensionless-method_searchsorted] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[int64-incompatible_unit-method_item] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[int64-incompatible_unit-method_searchsorted] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[int64-compatible_unit-method_item] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[int64-compatible_unit-method_searchsorted] PASSED [ 81%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[int64-identical_unit-method_item] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_raw_numpy_methods[int64-identical_unit-method_searchsorted] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_missing_value_detection[method_isnull] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_missing_value_detection[method_notnull] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_missing_value_detection[method_count] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_missing_value_fillna[no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_missing_value_fillna[dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_missing_value_fillna[incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_missing_value_fillna[compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_missing_value_fillna[identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_equals-no_conversion-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_equals-no_conversion-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_equals-no_conversion-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_equals-no_conversion-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_equals-no_conversion-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_equals-with_conversion-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_equals-with_conversion-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_equals-with_conversion-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_equals-with_conversion-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_equals-with_conversion-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_identical-no_conversion-no_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_identical-no_conversion-dimensionless] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_identical-no_conversion-incompatible_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_identical-no_conversion-compatible_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_identical-no_conversion-identical_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_identical-with_conversion-no_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_identical-with_conversion-dimensionless] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_identical-with_conversion-incompatible_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_identical-with_conversion-compatible_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[float64-method_identical-with_conversion-identical_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_equals-no_conversion-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_equals-no_conversion-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_equals-no_conversion-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_equals-no_conversion-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_equals-no_conversion-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_equals-with_conversion-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_equals-with_conversion-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_equals-with_conversion-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_equals-with_conversion-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_equals-with_conversion-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_identical-no_conversion-no_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_identical-no_conversion-dimensionless] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_identical-no_conversion-incompatible_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_identical-no_conversion-compatible_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_identical-no_conversion-identical_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_identical-with_conversion-no_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_identical-with_conversion-dimensionless] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_identical-with_conversion-incompatible_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_identical-with_conversion-compatible_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_comparisons[int64-method_identical-with_conversion-identical_unit] SKIPPED (behavior of identical is undecided) [ 82%] xarray/tests/test_units.py::TestVariable::test_broadcast_equals[float64-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_broadcast_equals[float64-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_broadcast_equals[float64-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_broadcast_equals[float64-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_broadcast_equals[float64-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_broadcast_equals[int64-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_broadcast_equals[int64-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_broadcast_equals[int64-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_broadcast_equals[int64-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_broadcast_equals[int64-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[float64-single value-single indexer-False] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[float64-single value-single indexer-True] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[float64-multiple values-single indexer-False] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[float64-multiple values-single indexer-True] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[float64-single value-multiple indexers-False] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[float64-single value-multiple indexers-True] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[float64-multiple values-multiple indexers-False] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[float64-multiple values-multiple indexers-True] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[int64-single value-single indexer-False] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[int64-single value-single indexer-True] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[int64-multiple values-single indexer-False] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[int64-multiple values-single indexer-True] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[int64-single value-multiple indexers-False] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[int64-single value-multiple indexers-True] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[int64-multiple values-multiple indexers-False] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_isel[int64-multiple values-multiple indexers-True] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_unary_plus-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_unary_plus-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_unary_plus-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_unary_plus-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_unary_plus-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_unary_minus-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_unary_minus-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_unary_minus-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_unary_minus-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_unary_minus-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_absolute-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_absolute-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_absolute-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_absolute-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_absolute-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_sum-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_sum-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_sum-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_sum-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_sum-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_commutative_sum-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_commutative_sum-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_commutative_sum-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_commutative_sum-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_commutative_sum-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_product-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_product-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_product-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_product-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_product-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_commutative_product-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_commutative_product-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_commutative_product-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_commutative_product-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[float64-function_commutative_product-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_unary_plus-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_unary_plus-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_unary_plus-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_unary_plus-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_unary_plus-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_unary_minus-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_unary_minus-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_unary_minus-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_unary_minus-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_unary_minus-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_absolute-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_absolute-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_absolute-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_absolute-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_absolute-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_sum-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_sum-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_sum-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_sum-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_sum-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_commutative_sum-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_commutative_sum-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_commutative_sum-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_commutative_sum-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_commutative_sum-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_product-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_product-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_product-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_product-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_product-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_commutative_product-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_commutative_product-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_commutative_product-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_commutative_product-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_1d_math[int64-function_commutative_product-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[float64-method_where-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[float64-method_where-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[float64-method_where-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[float64-method_where-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[float64-method_where-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[float64-method__getitem_with_mask-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[float64-method__getitem_with_mask-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[float64-method__getitem_with_mask-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[float64-method__getitem_with_mask-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[float64-method__getitem_with_mask-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[int64-method_where-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[int64-method_where-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[int64-method_where-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[int64-method_where-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[int64-method_where-identical_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[int64-method__getitem_with_mask-no_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[int64-method__getitem_with_mask-dimensionless] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[int64-method__getitem_with_mask-incompatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[int64-method__getitem_with_mask-compatible_unit] PASSED [ 82%] xarray/tests/test_units.py::TestVariable::test_masking[int64-method__getitem_with_mask-identical_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_squeeze[float64-x] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_squeeze[float64-y] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_squeeze[float64-z] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_squeeze[float64-t] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_squeeze[float64-all] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_squeeze[int64-x] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_squeeze[int64-y] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_squeeze[int64-z] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_squeeze[int64-t] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_squeeze[int64-all] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[float64-method_coarsen] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[float64-method_quantile] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[float64-method_rank] SKIPPED (rank not implemented for non-ndarray) [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[float64-method_roll] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[float64-method_rolling_window] XPASS (converts to ndarray) [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[float64-method_reduce] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[float64-method_round] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[float64-method_shift] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[float64-method_transpose] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[int64-method_coarsen] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[int64-method_quantile] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[int64-method_rank] SKIPPED (rank not implemented for non-ndarray) [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[int64-method_roll] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[int64-method_rolling_window] XPASS (converts to ndarray) [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[int64-method_reduce] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[int64-method_round] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[int64-method_shift] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_computation[int64-method_transpose] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_searchsorted[float64-no_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_searchsorted[float64-dimensionless] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_searchsorted[float64-incompatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_searchsorted[float64-compatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_searchsorted[float64-identical_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_searchsorted[int64-no_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_searchsorted[int64-dimensionless] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_searchsorted[int64-incompatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_searchsorted[int64-compatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_searchsorted[int64-identical_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_stack[float64] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_stack[int64] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_unstack[float64] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_unstack[int64] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_concat[float64-no_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_concat[float64-dimensionless] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_concat[float64-incompatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_concat[float64-compatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_concat[float64-identical_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_concat[int64-no_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_concat[int64-dimensionless] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_concat[int64-incompatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_concat[int64-compatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_concat[int64-identical_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_set_dims[float64] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_set_dims[int64] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_copy[float64] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_copy[int64] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_no_conflicts[float64-no_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_no_conflicts[float64-dimensionless] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_no_conflicts[float64-incompatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_no_conflicts[float64-compatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_no_conflicts[float64-identical_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_no_conflicts[int64-no_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_no_conflicts[int64-dimensionless] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_no_conflicts[int64-incompatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_no_conflicts[int64-compatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_no_conflicts[int64-identical_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg0-np_arg0-constant] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg0-np_arg0-mean] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg0-np_arg0-median] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg0-np_arg0-reflect] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg0-np_arg0-edge] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg0-np_arg0-linear_ramp] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg0-np_arg0-maximum] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg0-np_arg0-minimum] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg0-np_arg0-symmetric] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg0-np_arg0-wrap] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg1-np_arg1-constant] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg1-np_arg1-mean] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg1-np_arg1-median] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg1-np_arg1-reflect] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg1-np_arg1-edge] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg1-np_arg1-linear_ramp] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg1-np_arg1-maximum] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg1-np_arg1-minimum] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg1-np_arg1-symmetric] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg1-np_arg1-wrap] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg2-np_arg2-constant] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg2-np_arg2-mean] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg2-np_arg2-median] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg2-np_arg2-reflect] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg2-np_arg2-edge] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg2-np_arg2-linear_ramp] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg2-np_arg2-maximum] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg2-np_arg2-minimum] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg2-np_arg2-symmetric] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg2-np_arg2-wrap] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg3-np_arg3-constant] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg3-np_arg3-mean] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg3-np_arg3-median] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg3-np_arg3-reflect] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg3-np_arg3-edge] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg3-np_arg3-linear_ramp] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg3-np_arg3-maximum] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg3-np_arg3-minimum] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg3-np_arg3-symmetric] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg3-np_arg3-wrap] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg4-np_arg4-constant] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg4-np_arg4-mean] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg4-np_arg4-median] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg4-np_arg4-reflect] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg4-np_arg4-edge] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg4-np_arg4-linear_ramp] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg4-np_arg4-maximum] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg4-np_arg4-minimum] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg4-np_arg4-symmetric] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad[xr_arg4-np_arg4-wrap] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad_unit_constant_value[float64-no_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad_unit_constant_value[float64-dimensionless] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad_unit_constant_value[float64-incompatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad_unit_constant_value[float64-compatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad_unit_constant_value[float64-identical_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad_unit_constant_value[int64-no_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad_unit_constant_value[int64-dimensionless] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad_unit_constant_value[int64-incompatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad_unit_constant_value[int64-compatible_unit] PASSED [ 83%] xarray/tests/test_units.py::TestVariable::test_pad_unit_constant_value[int64-identical_unit] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_init[float64-with_dims] SKIPPED (indexes don't support units) [ 83%] xarray/tests/test_units.py::TestDataArray::test_init[float64-with_coords] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_init[float64-without_coords] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_init[int64-with_dims] SKIPPED (indexes don't support units) [ 83%] xarray/tests/test_units.py::TestDataArray::test_init[int64-with_coords] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_init[int64-without_coords] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_repr[float64-with_dims-str] SKIPPED (indexes don't support units) [ 83%] xarray/tests/test_units.py::TestDataArray::test_repr[float64-with_dims-repr] SKIPPED (indexes don't support units) [ 83%] xarray/tests/test_units.py::TestDataArray::test_repr[float64-with_coords-str] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_repr[float64-with_coords-repr] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_repr[float64-without_coords-str] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_repr[float64-without_coords-repr] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_repr[int64-with_dims-str] SKIPPED (indexes don't support units) [ 83%] xarray/tests/test_units.py::TestDataArray::test_repr[int64-with_dims-repr] SKIPPED (indexes don't support units) [ 83%] xarray/tests/test_units.py::TestDataArray::test_repr[int64-with_coords-str] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_repr[int64-with_coords-repr] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_repr[int64-without_coords-str] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_repr[int64-without_coords-repr] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-function_all] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-function_any] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-function_argmax] SKIPPED (calling np.argmax as a function on xarray objects is not supported) [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-function_argmin] SKIPPED (calling np.argmin as a function on xarray objects is not supported) [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-function_max] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-function_mean] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-function_median] SKIPPED (median does not work with dataarrays yet) [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-function_min] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-function_prod] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-function_sum] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-function_std] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-function_var] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-function_cumsum] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-function_cumprod] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-method_all] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-method_any] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-method_argmax] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-method_argmin] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-method_max] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-method_mean] PASSED [ 83%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-method_median] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-method_min] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-method_prod] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-method_sum] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-method_std] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-method_var] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-method_cumsum] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[float64-method_cumprod] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-function_all] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-function_any] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-function_argmax] SKIPPED (calling np.argmax as a function on xarray objects is not supported) [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-function_argmin] SKIPPED (calling np.argmin as a function on xarray objects is not supported) [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-function_max] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-function_mean] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-function_median] SKIPPED (median does not work with dataarrays yet) [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-function_min] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-function_prod] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-function_sum] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-function_std] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-function_var] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-function_cumsum] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-function_cumprod] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-method_all] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-method_any] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-method_argmax] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-method_argmin] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-method_max] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-method_mean] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-method_median] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-method_min] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-method_prod] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-method_sum] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-method_std] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-method_var] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-method_cumsum] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_aggregation[int64-method_cumprod] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_unary_operations[float64-negate] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_unary_operations[float64-absolute] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_unary_operations[float64-round] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_unary_operations[int64-negate] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_unary_operations[int64-absolute] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_unary_operations[int64-round] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_binary_operations[float64-multiply] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_binary_operations[float64-add] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_binary_operations[float64-add scalar] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_binary_operations[float64-matrix multiply] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_binary_operations[int64-multiply] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_binary_operations[int64-add] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_binary_operations[int64-add scalar] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_binary_operations[int64-matrix multiply] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-without_unit-less_than] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-without_unit-greater_equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-without_unit-equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-dimensionless-less_than] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-dimensionless-greater_equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-dimensionless-equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-incompatible_unit-less_than] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-incompatible_unit-greater_equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-incompatible_unit-equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-compatible_unit-less_than] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-compatible_unit-greater_equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-compatible_unit-equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-identical_unit-less_than] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-identical_unit-greater_equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[float64-identical_unit-equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-without_unit-less_than] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-without_unit-greater_equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-without_unit-equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-dimensionless-less_than] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-dimensionless-greater_equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-dimensionless-equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-incompatible_unit-less_than] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-incompatible_unit-greater_equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-incompatible_unit-equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-compatible_unit-less_than] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-compatible_unit-greater_equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-compatible_unit-equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-identical_unit-less_than] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-identical_unit-greater_equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_comparison_operations[int64-identical_unit-equal] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_univariate_ufunc[float64-dimensionless] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_univariate_ufunc[float64-incompatible_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_univariate_ufunc[float64-compatible_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_univariate_ufunc[int64-dimensionless] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_univariate_ufunc[int64-incompatible_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_univariate_ufunc[int64-compatible_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_bivariate_ufunc[float64-without_unit] XPASS (needs the type register system for __array_ufunc__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_bivariate_ufunc[float64-dimensionless] XPASS (needs the type register system for __array_ufunc__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_bivariate_ufunc[float64-incompatible_unit] XPASS (needs the type register system for __array_ufunc__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_bivariate_ufunc[float64-compatible_unit] XFAIL (needs the type register system for __array_ufunc__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_bivariate_ufunc[float64-identical_unit] XPASS (needs the type register system for __array_ufunc__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_bivariate_ufunc[int64-without_unit] XPASS (needs the type register system for __array_ufunc__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_bivariate_ufunc[int64-dimensionless] XPASS (needs the type register system for __array_ufunc__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_bivariate_ufunc[int64-incompatible_unit] XPASS (needs the type register system for __array_ufunc__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_bivariate_ufunc[int64-compatible_unit] XFAIL (needs the type register system for __array_ufunc__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_bivariate_ufunc[int64-identical_unit] XPASS (needs the type register system for __array_ufunc__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_properties[float64-T] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_properties[float64-imag] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_properties[float64-real] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_properties[int64-T] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_properties[int64-imag] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_properties[int64-real] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods[float64-method_conj] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods[float64-method_argsort] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods[float64-method_conjugate] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods[float64-method_round] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods[int64-method_conj] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods[int64-method_argsort] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods[int64-method_conjugate] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods[int64-method_round] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_item[float64] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_item[int64] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[float64-method_searchsorted-no_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[float64-method_searchsorted-dimensionless] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[float64-method_searchsorted-incompatible_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[float64-method_searchsorted-compatible_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[float64-method_searchsorted-identical_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[float64-function_searchsorted-no_unit] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[float64-function_searchsorted-dimensionless] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[float64-function_searchsorted-incompatible_unit] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[float64-function_searchsorted-compatible_unit] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[float64-function_searchsorted-identical_unit] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[int64-method_searchsorted-no_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[int64-method_searchsorted-dimensionless] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[int64-method_searchsorted-incompatible_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[int64-method_searchsorted-compatible_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[int64-method_searchsorted-identical_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[int64-function_searchsorted-no_unit] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[int64-function_searchsorted-dimensionless] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[int64-function_searchsorted-incompatible_unit] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[int64-function_searchsorted-compatible_unit] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_searchsorted[int64-function_searchsorted-identical_unit] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[float64-no_unit-method_clip] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[float64-no_unit-function_clip] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[float64-dimensionless-method_clip] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[float64-dimensionless-function_clip] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[float64-incompatible_unit-method_clip] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[float64-incompatible_unit-function_clip] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[float64-compatible_unit-method_clip] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[float64-compatible_unit-function_clip] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[float64-identical_unit-method_clip] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[float64-identical_unit-function_clip] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[int64-no_unit-method_clip] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[int64-no_unit-function_clip] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[int64-dimensionless-method_clip] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[int64-dimensionless-function_clip] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[int64-incompatible_unit-method_clip] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[int64-incompatible_unit-function_clip] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[int64-compatible_unit-method_clip] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[int64-compatible_unit-function_clip] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[int64-identical_unit-method_clip] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_numpy_methods_with_args[int64-identical_unit-function_clip] XFAIL (xarray does not implement __array_function__) [ 84%] xarray/tests/test_units.py::TestDataArray::test_missing_value_detection[float64-method_isnull] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_missing_value_detection[float64-method_notnull] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_missing_value_detection[float64-method_count] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_missing_value_detection[int64-method_isnull] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_missing_value_detection[int64-method_notnull] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_missing_value_detection[int64-method_count] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_missing_value_filling[float64-method_ffill] XFAIL (ffill and bfill lose units in data) [ 84%] xarray/tests/test_units.py::TestDataArray::test_missing_value_filling[float64-method_bfill] XFAIL (ffill and bfill lose units in data) [ 84%] xarray/tests/test_units.py::TestDataArray::test_missing_value_filling[int64-method_ffill] XFAIL (ffill and bfill lose units in data) [ 84%] xarray/tests/test_units.py::TestDataArray::test_missing_value_filling[int64-method_bfill] XFAIL (ffill and bfill lose units in data) [ 84%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-python_scalar-no_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-python_scalar-dimensionless] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-python_scalar-incompatible_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-python_scalar-compatible_unit] PASSED [ 84%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-python_scalar-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-numpy_scalar-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-numpy_scalar-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-numpy_scalar-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-numpy_scalar-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-numpy_scalar-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-numpy_array-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-numpy_array-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-numpy_array-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-numpy_array-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[float64-numpy_array-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-python_scalar-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-python_scalar-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-python_scalar-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-python_scalar-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-python_scalar-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-numpy_scalar-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-numpy_scalar-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-numpy_scalar-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-numpy_scalar-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-numpy_scalar-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-numpy_array-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-numpy_array-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-numpy_array-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-numpy_array-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_fillna[int64-numpy_array-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_dropna[float64] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_dropna[int64] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_isin[float64-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_isin[float64-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_isin[float64-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_isin[float64-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_isin[float64-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_isin[int64-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_isin[int64-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_isin[int64-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_isin[int64-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_isin[int64-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-no_unit-masking] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-no_unit-replacing_scalar] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-no_unit-replacing_array] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-no_unit-dropping] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-dimensionless-masking] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-dimensionless-replacing_scalar] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-dimensionless-replacing_array] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-dimensionless-dropping] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-incompatible_unit-masking] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-incompatible_unit-replacing_scalar] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-incompatible_unit-replacing_array] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-incompatible_unit-dropping] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-compatible_unit-masking] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-compatible_unit-replacing_scalar] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-compatible_unit-replacing_array] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-compatible_unit-dropping] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-identical_unit-masking] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-identical_unit-replacing_scalar] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-identical_unit-replacing_array] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[float64-identical_unit-dropping] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-no_unit-masking] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-no_unit-replacing_scalar] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-no_unit-replacing_array] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-no_unit-dropping] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-dimensionless-masking] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-dimensionless-replacing_scalar] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-dimensionless-replacing_array] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-dimensionless-dropping] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-incompatible_unit-masking] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-incompatible_unit-replacing_scalar] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-incompatible_unit-replacing_array] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-incompatible_unit-dropping] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-compatible_unit-masking] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-compatible_unit-replacing_scalar] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-compatible_unit-replacing_array] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-compatible_unit-dropping] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-identical_unit-masking] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-identical_unit-replacing_scalar] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-identical_unit-replacing_array] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_where[int64-identical_unit-dropping] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_interpolate_na XFAIL (uses numpy.vectorize) [ 85%] xarray/tests/test_units.py::TestDataArray::test_combine_first[float64-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_combine_first[float64-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_combine_first[float64-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_combine_first[float64-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_combine_first[float64-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_combine_first[int64-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_combine_first[int64-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_combine_first[int64-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_combine_first[int64-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_combine_first[int64-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-data-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-data-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-data-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-data-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-data-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-dims-no_unit] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-dims-dimensionless] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-dims-compatible_unit] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-dims-identical_unit] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-coords-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-coords-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-coords-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-coords-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_equals-coords-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-data-no_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-data-dimensionless] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-data-incompatible_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-data-compatible_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-data-identical_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-dims-no_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-dims-dimensionless] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-dims-incompatible_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-dims-compatible_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-dims-identical_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-coords-no_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-coords-dimensionless] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-coords-incompatible_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-coords-compatible_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[float64-method_identical-coords-identical_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-data-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-data-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-data-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-data-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-data-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-dims-no_unit] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-dims-dimensionless] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-dims-compatible_unit] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-dims-identical_unit] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-coords-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-coords-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-coords-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-coords-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_equals-coords-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-data-no_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-data-dimensionless] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-data-incompatible_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-data-compatible_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-data-identical_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-dims-no_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-dims-dimensionless] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-dims-incompatible_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-dims-compatible_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-dims-identical_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-coords-no_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-coords-dimensionless] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-coords-incompatible_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-coords-compatible_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_comparisons[int64-method_identical-coords-identical_unit] SKIPPED (the behavior of identical is undecided) [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-data-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-data-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-data-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-data-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-data-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-dims-no_unit] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-dims-dimensionless] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-dims-identical_unit] SKIPPED (indexes don't support units) [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-coords-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-coords-dimensionless] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-coords-incompatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-coords-compatible_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[float64-coords-identical_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-data-no_unit] PASSED [ 85%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-data-dimensionless] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-data-incompatible_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-data-compatible_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-data-identical_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-dims-no_unit] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-dims-dimensionless] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-dims-identical_unit] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-coords-no_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-coords-dimensionless] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-coords-incompatible_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-coords-compatible_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_like[int64-coords-identical_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_equals[float64-no_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_equals[float64-dimensionless] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_equals[float64-incompatible_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_equals[float64-compatible_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_equals[float64-identical_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_equals[int64-no_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_equals[int64-dimensionless] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_equals[int64-incompatible_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_equals[int64-compatible_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_broadcast_equals[int64-identical_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_pad[float64] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_pad[int64] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_pipe-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_pipe-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_pipe-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_assign_coords-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_assign_coords-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_assign_coords-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_assign_attrs-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_assign_attrs-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_assign_attrs-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_rename-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_rename-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_rename-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_swap_dims-data] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_swap_dims-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_swap_dims-coords] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_expand_dims-data] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_expand_dims-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_expand_dims-coords] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_drop_vars-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_drop_vars-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_drop_vars-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_reset_coords-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_reset_coords-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_reset_coords-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_copy-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_copy-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_copy-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_astype-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_astype-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[float64-method_astype-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_pipe-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_pipe-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_pipe-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_assign_coords-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_assign_coords-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_assign_coords-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_assign_attrs-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_assign_attrs-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_assign_attrs-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_rename-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_rename-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_rename-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_swap_dims-data] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_swap_dims-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_swap_dims-coords] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_expand_dims-data] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_expand_dims-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_expand_dims-coords] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_drop_vars-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_drop_vars-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_drop_vars-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_reset_coords-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_reset_coords-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_reset_coords-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_copy-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_copy-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_copy-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_astype-data] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_astype-dims] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_content_manipulation[int64-method_astype-coords] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_copy[float64-no_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_copy[float64-dimensionless] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_copy[float64-with_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_copy[int64-no_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_copy[int64-dimensionless] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_copy[int64-with_unit] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_isel[float64-single index] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_isel[float64-multiple indices] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_isel[int64-single index] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_isel[int64-multiple indices] PASSED [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-no_units-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-no_units-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-no_units-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-dimensionless-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-dimensionless-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-dimensionless-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-incompatible_unit-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-incompatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-incompatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-compatible_unit-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-compatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-compatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-identical_unit-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-identical_unit-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[float64-identical_unit-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-no_units-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-no_units-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-no_units-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-dimensionless-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-dimensionless-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-dimensionless-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-incompatible_unit-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-incompatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-incompatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-compatible_unit-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-compatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-compatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-identical_unit-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-identical_unit-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_sel[int64-identical_unit-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-no_units-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-no_units-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-no_units-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-dimensionless-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-dimensionless-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-dimensionless-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-incompatible_unit-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-incompatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-incompatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-compatible_unit-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-compatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-compatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-identical_unit-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-identical_unit-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[float64-identical_unit-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-no_units-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-no_units-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-no_units-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-dimensionless-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-dimensionless-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-dimensionless-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-incompatible_unit-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-incompatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-incompatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-compatible_unit-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-compatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-compatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-identical_unit-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-identical_unit-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_loc[int64-identical_unit-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-no_units-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-no_units-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-no_units-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-dimensionless-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-dimensionless-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-dimensionless-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-incompatible_unit-single_value] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-incompatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-incompatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 86%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-compatible_unit-single_value] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-compatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-compatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-identical_unit-single_value] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-identical_unit-list_of_values] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[float64-identical_unit-array_of_values] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-no_units-single_value] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-no_units-list_of_values] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-no_units-array_of_values] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-dimensionless-single_value] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-dimensionless-list_of_values] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-dimensionless-array_of_values] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-incompatible_unit-single_value] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-incompatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-incompatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-compatible_unit-single_value] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-compatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-compatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-identical_unit-single_value] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-identical_unit-list_of_values] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_drop_sel[int64-identical_unit-array_of_values] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-nothing_squeezable-x] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-nothing_squeezable-y] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-nothing_squeezable-z] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-nothing_squeezable-t] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-nothing_squeezable-all] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-last_dimension_squeezable-x] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-last_dimension_squeezable-y] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-last_dimension_squeezable-z] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-last_dimension_squeezable-t] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-last_dimension_squeezable-all] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-middle_dimension_squeezable-x] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-middle_dimension_squeezable-y] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-middle_dimension_squeezable-z] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-middle_dimension_squeezable-t] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-middle_dimension_squeezable-all] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-first_dimension_squeezable-x] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-first_dimension_squeezable-y] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-first_dimension_squeezable-z] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-first_dimension_squeezable-t] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-first_dimension_squeezable-all] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-first_and_last_dimension_squeezable-x] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-first_and_last_dimension_squeezable-y] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-first_and_last_dimension_squeezable-z] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-first_and_last_dimension_squeezable-t] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[float64-first_and_last_dimension_squeezable-all] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-nothing_squeezable-x] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-nothing_squeezable-y] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-nothing_squeezable-z] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-nothing_squeezable-t] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-nothing_squeezable-all] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-last_dimension_squeezable-x] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-last_dimension_squeezable-y] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-last_dimension_squeezable-z] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-last_dimension_squeezable-t] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-last_dimension_squeezable-all] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-middle_dimension_squeezable-x] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-middle_dimension_squeezable-y] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-middle_dimension_squeezable-z] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-middle_dimension_squeezable-t] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-middle_dimension_squeezable-all] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-first_dimension_squeezable-x] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-first_dimension_squeezable-y] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-first_dimension_squeezable-z] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-first_dimension_squeezable-t] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-first_dimension_squeezable-all] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-first_and_last_dimension_squeezable-x] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-first_and_last_dimension_squeezable-y] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-first_and_last_dimension_squeezable-z] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-first_and_last_dimension_squeezable-t] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_squeeze[int64-first_and_last_dimension_squeezable-all] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_head_tail_thin[float64-method_head] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_head_tail_thin[float64-method_tail] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_head_tail_thin[float64-method_thin] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_head_tail_thin[int64-method_head] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_head_tail_thin[int64-method_tail] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_head_tail_thin[int64-method_thin] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex[float64-method_interp-data] XFAIL (uses scipy) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex[float64-method_interp-coords] XFAIL (uses scipy) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex[float64-method_reindex-data] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex[float64-method_reindex-coords] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex[int64-method_interp-data] XFAIL (uses scipy) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex[int64-method_interp-coords] XFAIL (uses scipy) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex[int64-method_reindex-data] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex[int64-method_reindex-coords] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[float64-method_interp-no_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[float64-method_interp-dimensionless] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[float64-method_interp-incompatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[float64-method_interp-compatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[float64-method_interp-identical_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[float64-method_reindex-no_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[float64-method_reindex-dimensionless] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[float64-method_reindex-incompatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[float64-method_reindex-compatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[float64-method_reindex-identical_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[int64-method_interp-no_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[int64-method_interp-dimensionless] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[int64-method_interp-incompatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[int64-method_interp-compatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[int64-method_interp-identical_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[int64-method_reindex-no_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[int64-method_reindex-dimensionless] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[int64-method_reindex-incompatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[int64-method_reindex-compatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_indexing[int64-method_reindex-identical_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like[float64-method_interp_like-data] XFAIL (uses scipy) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like[float64-method_interp_like-coords] XFAIL (uses scipy) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like[float64-method_reindex_like-data] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like[float64-method_reindex_like-coords] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like[int64-method_interp_like-data] XFAIL (uses scipy) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like[int64-method_interp_like-coords] XFAIL (uses scipy) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like[int64-method_reindex_like-data] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like[int64-method_reindex_like-coords] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[float64-method_interp_like-no_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[float64-method_interp_like-dimensionless] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[float64-method_interp_like-incompatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[float64-method_interp_like-compatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[float64-method_interp_like-identical_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[float64-method_reindex_like-no_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[float64-method_reindex_like-dimensionless] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[float64-method_reindex_like-incompatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[float64-method_reindex_like-compatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[float64-method_reindex_like-identical_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[int64-method_interp_like-no_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[int64-method_interp_like-dimensionless] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[int64-method_interp_like-incompatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[int64-method_interp_like-compatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[int64-method_interp_like-identical_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[int64-method_reindex_like-no_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[int64-method_reindex_like-dimensionless] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[int64-method_reindex_like-incompatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[int64-method_reindex_like-compatible_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_interp_reindex_like_indexing[int64-method_reindex_like-identical_unit] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_stacked[float64-method_unstack] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_stacked[float64-method_reset_index] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_stacked[float64-method_reorder_levels] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_stacked[int64-method_unstack] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_stacked[int64-method_reset_index] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_stacked[int64-method_reorder_levels] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_to_unstacked_dataset[float64] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_to_unstacked_dataset[int64] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_reordering[float64-method_transpose] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_reordering[float64-method_stack] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_reordering[float64-method_set_index] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_reordering[float64-method_shift] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_reordering[float64-method_rank] SKIPPED (rank not implemented for non-ndarray) [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_reordering[float64-method_roll] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_reordering[float64-method_sortby] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_reordering[int64-method_transpose] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_reordering[int64-method_stack] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_reordering[int64-method_set_index] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_reordering[int64-method_shift] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_reordering[int64-method_rank] SKIPPED (rank not implemented for non-ndarray) [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_reordering[int64-method_roll] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_stacking_reordering[int64-method_sortby] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_differentiate_integrate[float64-method_differentiate-dims] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_differentiate_integrate[float64-method_differentiate-coords] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_differentiate_integrate[float64-method_integrate-dims] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_differentiate_integrate[float64-method_integrate-coords] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_differentiate_integrate[float64-method_cumulative_integrate-dims] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_differentiate_integrate[float64-method_cumulative_integrate-coords] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_differentiate_integrate[int64-method_differentiate-dims] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_differentiate_integrate[int64-method_differentiate-coords] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_differentiate_integrate[int64-method_integrate-dims] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_differentiate_integrate[int64-method_integrate-coords] PASSED [ 87%] xarray/tests/test_units.py::TestDataArray::test_differentiate_integrate[int64-method_cumulative_integrate-dims] SKIPPED (indexes don't support units) [ 87%] xarray/tests/test_units.py::TestDataArray::test_differentiate_integrate[int64-method_cumulative_integrate-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[float64-method_diff-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[float64-method_diff-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[float64-method_diff-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[float64-method_quantile-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[float64-method_quantile-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[float64-method_quantile-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[float64-method_reduce-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[float64-method_reduce-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[float64-method_reduce-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[float64-method_dot-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[float64-method_dot-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[float64-method_dot-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[int64-method_diff-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[int64-method_diff-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[int64-method_diff-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[int64-method_quantile-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[int64-method_quantile-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[int64-method_quantile-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[int64-method_reduce-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[int64-method_reduce-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[int64-method_reduce-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[int64-method_dot-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[int64-method_dot-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation[int64-method_dot-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_groupby-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_groupby-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_groupby-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_groupby_bins-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_groupby_bins-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_groupby_bins-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_coarsen-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_coarsen-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_coarsen-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_rolling-data] XFAIL (numpy.lib.stride_tricks.as_strided converts to ndarray) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_rolling-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_rolling-coords] XPASS (numpy.lib.stride_tricks.as_strided converts to ndarray) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_rolling_exp-data] XFAIL (numbagg functions are not supported by pint) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_rolling_exp-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_rolling_exp-coords] XFAIL (numbagg functions are not supported by pint) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_weighted-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_weighted-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[float64-method_weighted-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_groupby-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_groupby-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_groupby-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_groupby_bins-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_groupby_bins-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_groupby_bins-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_coarsen-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_coarsen-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_coarsen-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_rolling-data] XFAIL (numpy.lib.stride_tricks.as_strided converts to ndarray) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_rolling-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_rolling-coords] XPASS (numpy.lib.stride_tricks.as_strided converts to ndarray) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_rolling_exp-data] XFAIL (numbagg functions are not supported by pint) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_rolling_exp-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_rolling_exp-coords] XFAIL (numbagg functions are not supported by pint) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_weighted-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_weighted-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_computation_objects[int64-method_weighted-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_resample[float64] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_resample[int64] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[float64-method_assign_coords-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[float64-method_assign_coords-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[float64-method_assign_coords-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[float64-method_first-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[float64-method_first-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[float64-method_first-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[float64-method_last-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[float64-method_last-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[float64-method_last-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[float64-method_quantile-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[float64-method_quantile-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[float64-method_quantile-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[int64-method_assign_coords-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[int64-method_assign_coords-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[int64-method_assign_coords-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[int64-method_first-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[int64-method_first-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[int64-method_first-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[int64-method_last-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[int64-method_last-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[int64-method_last-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[int64-method_quantile-data] PASSED [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[int64-method_quantile-dims] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataArray::test_grouped_operations[int64-method_quantile-coords] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-nothing-no_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-nothing-dimensionless] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-nothing-incompatible_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-nothing-compatible_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-nothing-same_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-dims-no_unit] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-dims-dimensionless] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-dims-same_unit] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-coords-no_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-coords-dimensionless] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-coords-incompatible_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-coords-compatible_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[float64-coords-same_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-nothing-no_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-nothing-dimensionless] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-nothing-incompatible_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-nothing-compatible_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-nothing-same_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-dims-no_unit] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-dims-dimensionless] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-dims-same_unit] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-coords-no_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-coords-dimensionless] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-coords-incompatible_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-coords-compatible_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_init[int64-coords-same_unit] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_repr[float64-data-str] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_repr[float64-data-repr] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_repr[float64-dims-str] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataset::test_repr[float64-dims-repr] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataset::test_repr[float64-coords-str] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_repr[float64-coords-repr] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_repr[int64-data-str] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_repr[int64-data-repr] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_repr[int64-dims-str] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataset::test_repr[int64-dims-repr] SKIPPED (indexes don't support units) [ 88%] xarray/tests/test_units.py::TestDataset::test_repr[int64-coords-str] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_repr[int64-coords-repr] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[float64-method_all] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[float64-method_any] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[float64-method_argmax] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[float64-method_argmin] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[float64-method_max] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[float64-method_min] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[float64-method_mean] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[float64-method_median] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[float64-method_sum] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[float64-method_prod] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[float64-method_std] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[float64-method_var] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[float64-method_cumsum] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[float64-method_cumprod] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[int64-method_all] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[int64-method_any] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[int64-method_argmax] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[int64-method_argmin] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[int64-method_max] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[int64-method_min] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[int64-method_mean] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[int64-method_median] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[int64-method_sum] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[int64-method_prod] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[int64-method_std] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[int64-method_var] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[int64-method_cumsum] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_aggregation[int64-method_cumprod] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_numpy_properties[float64-imag] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_numpy_properties[float64-real] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_numpy_properties[int64-imag] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_numpy_properties[int64-real] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_numpy_methods[float64-method_astype] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_numpy_methods[float64-method_conj] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_numpy_methods[float64-method_argsort] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_numpy_methods[float64-method_conjugate] PASSED [ 88%] xarray/tests/test_units.py::TestDataset::test_numpy_methods[float64-method_round] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods[int64-method_astype] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods[int64-method_conj] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods[int64-method_argsort] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods[int64-method_conjugate] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods[int64-method_round] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods_with_args[float64-no_unit-method_clip] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods_with_args[float64-dimensionless-method_clip] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods_with_args[float64-incompatible_unit-method_clip] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods_with_args[float64-compatible_unit-method_clip] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods_with_args[float64-identical_unit-method_clip] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods_with_args[int64-no_unit-method_clip] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods_with_args[int64-dimensionless-method_clip] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods_with_args[int64-incompatible_unit-method_clip] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods_with_args[int64-compatible_unit-method_clip] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_numpy_methods_with_args[int64-identical_unit-method_clip] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_missing_value_detection[float64-method_isnull] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_missing_value_detection[float64-method_notnull] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_missing_value_detection[float64-method_count] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_missing_value_detection[int64-method_isnull] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_missing_value_detection[int64-method_notnull] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_missing_value_detection[int64-method_count] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_missing_value_filling[float64-method_ffill] XFAIL (ffill and bfill lose the unit) [ 89%] xarray/tests/test_units.py::TestDataset::test_missing_value_filling[float64-method_bfill] XFAIL (ffill and bfill lose the unit) [ 89%] xarray/tests/test_units.py::TestDataset::test_missing_value_filling[int64-method_ffill] XFAIL (ffill and bfill lose the unit) [ 89%] xarray/tests/test_units.py::TestDataset::test_missing_value_filling[int64-method_bfill] XFAIL (ffill and bfill lose the unit) [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-python_scalar-no_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-python_scalar-dimensionless] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-python_scalar-incompatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-python_scalar-compatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-python_scalar-identical_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-numpy_scalar-no_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-numpy_scalar-dimensionless] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-numpy_scalar-incompatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-numpy_scalar-compatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-numpy_scalar-identical_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-numpy_array-no_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-numpy_array-dimensionless] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-numpy_array-incompatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-numpy_array-compatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[float64-numpy_array-identical_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-python_scalar-no_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-python_scalar-dimensionless] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-python_scalar-incompatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-python_scalar-compatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-python_scalar-identical_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-numpy_scalar-no_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-numpy_scalar-dimensionless] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-numpy_scalar-incompatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-numpy_scalar-compatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-numpy_scalar-identical_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-numpy_array-no_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-numpy_array-dimensionless] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-numpy_array-incompatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-numpy_array-compatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_fillna[int64-numpy_array-identical_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_dropna[float64] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_dropna[int64] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_isin[float64-no_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_isin[float64-dimensionless] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_isin[float64-incompatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_isin[float64-compatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_isin[float64-same_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_isin[int64-no_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_isin[int64-dimensionless] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_isin[int64-incompatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_isin[int64-compatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_isin[int64-same_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-no_unit-masking] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-no_unit-replacing_scalar] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-no_unit-replacing_array] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-no_unit-dropping] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-dimensionless-masking] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-dimensionless-replacing_scalar] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-dimensionless-replacing_array] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-dimensionless-dropping] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-incompatible_unit-masking] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-incompatible_unit-replacing_scalar] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-incompatible_unit-replacing_array] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-incompatible_unit-dropping] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-compatible_unit-masking] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-compatible_unit-replacing_scalar] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-compatible_unit-replacing_array] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-compatible_unit-dropping] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-same_unit-masking] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-same_unit-replacing_scalar] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-same_unit-replacing_array] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[float64-same_unit-dropping] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-no_unit-masking] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-no_unit-replacing_scalar] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-no_unit-replacing_array] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-no_unit-dropping] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-dimensionless-masking] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-dimensionless-replacing_scalar] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-dimensionless-replacing_array] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-dimensionless-dropping] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-incompatible_unit-masking] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-incompatible_unit-replacing_scalar] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-incompatible_unit-replacing_array] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-incompatible_unit-dropping] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-compatible_unit-masking] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-compatible_unit-replacing_scalar] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-compatible_unit-replacing_array] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-compatible_unit-dropping] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-same_unit-masking] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-same_unit-replacing_scalar] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-same_unit-replacing_array] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_where[int64-same_unit-dropping] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_interpolate_na[float64] XFAIL (interpolate_na uses numpy.vectorize) [ 89%] xarray/tests/test_units.py::TestDataset::test_interpolate_na[int64] XFAIL (interpolate_na uses numpy.vectorize) [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[float64-data-no_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[float64-data-dimensionless] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[float64-data-incompatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[float64-data-compatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[float64-data-same_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[float64-dims-no_unit] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[float64-dims-dimensionless] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[float64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[float64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[float64-dims-same_unit] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-no_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-dimensionless] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-incompatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-compatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-same_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-dims-no_unit] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-dims-dimensionless] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-dims-same_unit] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-data-no_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-data-dimensionless] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-data-incompatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-data-compatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-data-identical_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-dims-no_unit] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-dims-dimensionless] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-dims-compatible_unit] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-dims-identical_unit] SKIPPED (indexes don't support units) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-coords-no_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-coords-dimensionless] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-coords-incompatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-coords-compatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_equals-coords-identical_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-data-no_unit] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-data-dimensionless] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-data-incompatible_unit] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-data-compatible_unit] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-data-identical_unit] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-dims-no_unit] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-dims-dimensionless] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-dims-incompatible_unit] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-dims-compatible_unit] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-dims-identical_unit] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-coords-no_unit] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-coords-dimensionless] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-coords-incompatible_unit] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-coords-compatible_unit] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[float64-method_identical-coords-identical_unit] SKIPPED (behaviour of identical is unclear) [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-data-no_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-data-dimensionless] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-data-incompatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-data-compatible_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-data-identical_unit] PASSED [ 89%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-dims-no_unit] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-dims-dimensionless] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-dims-compatible_unit] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-dims-identical_unit] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-coords-no_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-coords-dimensionless] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-coords-incompatible_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-coords-compatible_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_equals-coords-identical_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-data-no_unit] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-data-dimensionless] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-data-incompatible_unit] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-data-compatible_unit] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-data-identical_unit] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-dims-no_unit] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-dims-dimensionless] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-dims-incompatible_unit] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-dims-compatible_unit] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-dims-identical_unit] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-coords-no_unit] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-coords-dimensionless] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-coords-incompatible_unit] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-coords-compatible_unit] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_comparisons[int64-method_identical-coords-identical_unit] SKIPPED (behaviour of identical is unclear) [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[float64-data-no_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[float64-data-dimensionless] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[float64-data-incompatible_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[float64-data-compatible_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[float64-data-identical_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[float64-dims-no_unit] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[float64-dims-dimensionless] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[float64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[float64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[float64-dims-identical_unit] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[int64-data-no_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[int64-data-dimensionless] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[int64-data-incompatible_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[int64-data-compatible_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[int64-data-identical_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[int64-dims-no_unit] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[int64-dims-dimensionless] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[int64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[int64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_like[int64-dims-identical_unit] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_equals[float64-no_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_equals[float64-dimensionless] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_equals[float64-incompatible_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_equals[float64-compatible_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_equals[float64-identical_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_equals[int64-no_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_equals[int64-dimensionless] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_equals[int64-incompatible_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_equals[int64-compatible_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_broadcast_equals[int64-identical_unit] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_pad[float64] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_pad[int64] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_stacked[float64-data-method_unstack] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_stacked[float64-data-method_reset_index] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_stacked[float64-data-method_reorder_levels] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_stacked[float64-dims-method_unstack] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_stacked[float64-dims-method_reset_index] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_stacked[float64-dims-method_reorder_levels] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_stacked[int64-data-method_unstack] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_stacked[int64-data-method_reset_index] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_stacked[int64-data-method_reorder_levels] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_stacked[int64-dims-method_unstack] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_stacked[int64-dims-method_reset_index] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_stacked[int64-dims-method_reorder_levels] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_to_stacked_array[float64] XFAIL (stacked dimension's labels have to be hashable, but is a numpy.array) [ 90%] xarray/tests/test_units.py::TestDataset::test_to_stacked_array[int64] XFAIL (stacked dimension's labels have to be hashable, but is a numpy.array) [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_reordering[float64-method_transpose] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_reordering[float64-method_stack] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_reordering[float64-method_set_index] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_reordering[float64-method_shift] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_reordering[float64-method_rank] SKIPPED (rank not implemented for non-ndarray) [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_reordering[float64-method_roll] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_reordering[float64-method_sortby] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_reordering[int64-method_transpose] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_reordering[int64-method_stack] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_reordering[int64-method_set_index] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_reordering[int64-method_shift] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_reordering[int64-method_rank] SKIPPED (rank not implemented for non-ndarray) [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_reordering[int64-method_roll] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_stacking_reordering[int64-method_sortby] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_isel[float64-single index] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_isel[float64-multiple indices] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_isel[int64-single index] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_isel[int64-multiple indices] PASSED [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-no_units-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-no_units-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-no_units-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-dimensionless-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-dimensionless-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-dimensionless-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-incompatible_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-incompatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-incompatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-compatible_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-compatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-compatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-identical_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-identical_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[float64-identical_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-no_units-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-no_units-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-no_units-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-dimensionless-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-dimensionless-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-dimensionless-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-incompatible_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-incompatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-incompatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-compatible_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-compatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-compatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-identical_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-identical_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_sel[int64-identical_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-no_units-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-no_units-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-no_units-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-dimensionless-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-dimensionless-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-dimensionless-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-incompatible_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-incompatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-incompatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-compatible_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-compatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-compatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-identical_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-identical_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[float64-identical_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-no_units-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-no_units-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-no_units-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-dimensionless-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-dimensionless-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-dimensionless-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-incompatible_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-incompatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-incompatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-compatible_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-compatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-compatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-identical_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-identical_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_drop_sel[int64-identical_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-no_units-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-no_units-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-no_units-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-dimensionless-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-dimensionless-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-dimensionless-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-incompatible_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-incompatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-incompatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-compatible_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-compatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-compatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-identical_unit-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-identical_unit-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[float64-identical_unit-array_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[int64-no_units-single_value] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[int64-no_units-list_of_values] SKIPPED (indexes don't support units) [ 90%] xarray/tests/test_units.py::TestDataset::test_loc[int64-no_units-array_of_values] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_loc[int64-dimensionless-single_value] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_loc[int64-dimensionless-list_of_values] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_loc[int64-dimensionless-array_of_values] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_loc[int64-incompatible_unit-single_value] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_loc[int64-incompatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_loc[int64-incompatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_loc[int64-compatible_unit-single_value] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_loc[int64-compatible_unit-list_of_values] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_loc[int64-compatible_unit-array_of_values] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_loc[int64-identical_unit-single_value] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_loc[int64-identical_unit-list_of_values] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_loc[int64-identical_unit-array_of_values] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[float64-data-method_head] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[float64-data-method_tail] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[float64-data-method_thin] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[float64-dims-method_head] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[float64-dims-method_tail] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[float64-dims-method_thin] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[float64-coords-method_head] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[float64-coords-method_tail] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[float64-coords-method_thin] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[int64-data-method_head] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[int64-data-method_tail] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[int64-data-method_thin] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[int64-dims-method_head] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[int64-dims-method_tail] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[int64-dims-method_thin] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[int64-coords-method_head] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[int64-coords-method_tail] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_head_tail_thin[int64-coords-method_thin] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-nothing squeezable-x] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-nothing squeezable-y] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-nothing squeezable-z] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-nothing squeezable-t] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-nothing squeezable-all] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-last dimension squeezable-x] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-last dimension squeezable-y] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-last dimension squeezable-z] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-last dimension squeezable-t] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-last dimension squeezable-all] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-middle dimension squeezable-x] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-middle dimension squeezable-y] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-middle dimension squeezable-z] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-middle dimension squeezable-t] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-middle dimension squeezable-all] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-first dimension squeezable-x] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-first dimension squeezable-y] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-first dimension squeezable-z] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-first dimension squeezable-t] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-first dimension squeezable-all] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-first and last dimension squeezable-x] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-first and last dimension squeezable-y] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-first and last dimension squeezable-z] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-first and last dimension squeezable-t] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[float64-first and last dimension squeezable-all] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-nothing squeezable-x] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-nothing squeezable-y] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-nothing squeezable-z] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-nothing squeezable-t] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-nothing squeezable-all] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-last dimension squeezable-x] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-last dimension squeezable-y] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-last dimension squeezable-z] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-last dimension squeezable-t] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-last dimension squeezable-all] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-middle dimension squeezable-x] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-middle dimension squeezable-y] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-middle dimension squeezable-z] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-middle dimension squeezable-t] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-middle dimension squeezable-all] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-first dimension squeezable-x] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-first dimension squeezable-y] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-first dimension squeezable-z] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-first dimension squeezable-t] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-first dimension squeezable-all] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-first and last dimension squeezable-x] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-first and last dimension squeezable-y] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-first and last dimension squeezable-z] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-first and last dimension squeezable-t] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_squeeze[int64-first and last dimension squeezable-all] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex[float64-method_interp-data] XFAIL (uses scipy) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex[float64-method_interp-coords] XFAIL (uses scipy) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex[float64-method_reindex-data] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex[float64-method_reindex-coords] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex[int64-method_interp-data] XFAIL (uses scipy) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex[int64-method_interp-coords] XFAIL (uses scipy) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex[int64-method_reindex-data] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex[int64-method_reindex-coords] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[float64-method_interp-no_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[float64-method_interp-dimensionless] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[float64-method_interp-incompatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[float64-method_interp-compatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[float64-method_interp-identical_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[float64-method_reindex-no_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[float64-method_reindex-dimensionless] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[float64-method_reindex-incompatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[float64-method_reindex-compatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[float64-method_reindex-identical_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[int64-method_interp-no_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[int64-method_interp-dimensionless] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[int64-method_interp-incompatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[int64-method_interp-compatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[int64-method_interp-identical_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[int64-method_reindex-no_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[int64-method_reindex-dimensionless] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[int64-method_reindex-incompatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[int64-method_reindex-compatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_indexing[int64-method_reindex-identical_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like[float64-method_interp_like-data] XFAIL (uses scipy) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like[float64-method_interp_like-coords] XFAIL (uses scipy) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like[float64-method_reindex_like-data] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like[float64-method_reindex_like-coords] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like[int64-method_interp_like-data] XFAIL (uses scipy) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like[int64-method_interp_like-coords] XFAIL (uses scipy) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like[int64-method_reindex_like-data] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like[int64-method_reindex_like-coords] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[float64-method_interp_like-no_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[float64-method_interp_like-dimensionless] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[float64-method_interp_like-incompatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[float64-method_interp_like-compatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[float64-method_interp_like-identical_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[float64-method_reindex_like-no_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[float64-method_reindex_like-dimensionless] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[float64-method_reindex_like-incompatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[float64-method_reindex_like-compatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[float64-method_reindex_like-identical_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[int64-method_interp_like-no_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[int64-method_interp_like-dimensionless] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[int64-method_interp_like-incompatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[int64-method_interp_like-compatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[int64-method_interp_like-identical_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[int64-method_reindex_like-no_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[int64-method_reindex_like-dimensionless] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[int64-method_reindex_like-incompatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[int64-method_reindex_like-compatible_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_interp_reindex_like_indexing[int64-method_reindex_like-identical_unit] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-data-method_diff] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-data-method_differentiate] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-data-method_integrate] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-data-method_quantile] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-data-method_reduce] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-data-method_map] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-dims-method_diff] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-dims-method_differentiate] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-dims-method_integrate] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-dims-method_quantile] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-dims-method_reduce] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-dims-method_map] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-coords-method_diff] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-coords-method_differentiate] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-coords-method_integrate] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-coords-method_quantile] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-coords-method_reduce] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[float64-coords-method_map] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[int64-data-method_diff] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[int64-data-method_differentiate] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[int64-data-method_integrate] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[int64-data-method_quantile] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[int64-data-method_reduce] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[int64-data-method_map] PASSED [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[int64-dims-method_diff] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[int64-dims-method_differentiate] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[int64-dims-method_integrate] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[int64-dims-method_quantile] SKIPPED (indexes don't support units) [ 91%] xarray/tests/test_units.py::TestDataset::test_computation[int64-dims-method_reduce] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation[int64-dims-method_map] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation[int64-coords-method_diff] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation[int64-coords-method_differentiate] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation[int64-coords-method_integrate] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation[int64-coords-method_quantile] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation[int64-coords-method_reduce] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation[int64-coords-method_map] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-data-method_groupby] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-data-method_groupby_bins] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-data-method_coarsen] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-data-method_rolling] XFAIL (strips units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-data-method_rolling_exp] XFAIL (numbagg functions are not supported by pint) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-data-method_weighted] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-dims-method_groupby] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-dims-method_groupby_bins] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-dims-method_coarsen] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-dims-method_rolling] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-dims-method_rolling_exp] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-dims-method_weighted] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-coords-method_groupby] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-coords-method_groupby_bins] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-coords-method_coarsen] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-coords-method_rolling] XPASS (strips units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-coords-method_rolling_exp] XFAIL (numbagg functions are not supported by pint) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[float64-coords-method_weighted] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-data-method_groupby] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-data-method_groupby_bins] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-data-method_coarsen] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-data-method_rolling] XFAIL (strips units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-data-method_rolling_exp] XFAIL (numbagg functions are not supported by pint) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-data-method_weighted] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-dims-method_groupby] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-dims-method_groupby_bins] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-dims-method_coarsen] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-dims-method_rolling] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-dims-method_rolling_exp] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-dims-method_weighted] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-coords-method_groupby] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-coords-method_groupby_bins] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-coords-method_coarsen] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-coords-method_rolling] XPASS (strips units) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-coords-method_rolling_exp] XFAIL (numbagg functions are not supported by pint) [ 92%] xarray/tests/test_units.py::TestDataset::test_computation_objects[int64-coords-method_weighted] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_resample[float64-data] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_resample[float64-dims] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_resample[float64-coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_resample[int64-data] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_resample[int64-dims] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_resample[int64-coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-data-method_assign] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-data-method_assign_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-data-method_first] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-data-method_last] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-data-method_quantile] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-dims-method_assign] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-dims-method_assign_coords] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-dims-method_first] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-dims-method_last] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-dims-method_quantile] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-coords-method_assign] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-coords-method_assign_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-coords-method_first] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-coords-method_last] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[float64-coords-method_quantile] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-data-method_assign] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-data-method_assign_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-data-method_first] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-data-method_last] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-data-method_quantile] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-dims-method_assign] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-dims-method_assign_coords] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-dims-method_first] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-dims-method_last] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-dims-method_quantile] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-coords-method_assign] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-coords-method_assign_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-coords-method_first] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-coords-method_last] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_grouped_operations[int64-coords-method_quantile] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-data-method_pipe] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-data-method_assign] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-data-method_assign_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-data-method_assign_attrs] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-data-method_rename] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-data-method_rename_vars] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-data-method_rename_dims] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-data-method_swap_dims] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-data-method_expand_dims] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-data-method_drop_vars] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-data-method_drop_dims] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-data-method_set_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-data-method_reset_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-data-method_copy] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-dims-method_pipe] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-dims-method_assign] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-dims-method_assign_coords] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-dims-method_assign_attrs] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-dims-method_rename] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-dims-method_rename_vars] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-dims-method_rename_dims] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-dims-method_swap_dims] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-dims-method_expand_dims] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-dims-method_drop_vars] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-dims-method_drop_dims] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-dims-method_set_coords] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-dims-method_reset_coords] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-dims-method_copy] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-coords-method_pipe] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-coords-method_assign] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-coords-method_assign_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-coords-method_assign_attrs] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-coords-method_rename] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-coords-method_rename_vars] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-coords-method_rename_dims] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-coords-method_swap_dims] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-coords-method_expand_dims] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-coords-method_drop_vars] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-coords-method_drop_dims] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-coords-method_set_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-coords-method_reset_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[float64-coords-method_copy] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-data-method_pipe] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-data-method_assign] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-data-method_assign_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-data-method_assign_attrs] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-data-method_rename] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-data-method_rename_vars] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-data-method_rename_dims] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-data-method_swap_dims] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-data-method_expand_dims] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-data-method_drop_vars] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-data-method_drop_dims] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-data-method_set_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-data-method_reset_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-data-method_copy] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-dims-method_pipe] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-dims-method_assign] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-dims-method_assign_coords] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-dims-method_assign_attrs] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-dims-method_rename] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-dims-method_rename_vars] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-dims-method_rename_dims] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-dims-method_swap_dims] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-dims-method_expand_dims] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-dims-method_drop_vars] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-dims-method_drop_dims] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-dims-method_set_coords] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-dims-method_reset_coords] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-dims-method_copy] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-coords-method_pipe] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-coords-method_assign] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-coords-method_assign_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-coords-method_assign_attrs] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-coords-method_rename] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-coords-method_rename_vars] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-coords-method_rename_dims] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-coords-method_swap_dims] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-coords-method_expand_dims] SKIPPED (indexes don't support units) [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-coords-method_drop_vars] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-coords-method_drop_dims] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-coords-method_set_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-coords-method_reset_coords] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_content_manipulation[int64-coords-method_copy] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_merge[float64-data-no_unit] PASSED [ 92%] xarray/tests/test_units.py::TestDataset::test_merge[float64-data-dimensionless] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[float64-data-incompatible_unit] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[float64-data-compatible_unit] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[float64-data-identical_unit] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[float64-dims-no_unit] SKIPPED (indexes don't support units) [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[float64-dims-dimensionless] SKIPPED (indexes don't support units) [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[float64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[float64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[float64-dims-identical_unit] SKIPPED (indexes don't support units) [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[float64-coords-no_unit] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[float64-coords-dimensionless] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[float64-coords-incompatible_unit] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[float64-coords-compatible_unit] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[float64-coords-identical_unit] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-data-no_unit] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-data-dimensionless] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-data-incompatible_unit] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-data-compatible_unit] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-data-identical_unit] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-dims-no_unit] SKIPPED (indexes don't support units) [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-dims-dimensionless] SKIPPED (indexes don't support units) [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-dims-incompatible_unit] SKIPPED (indexes don't support units) [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-dims-compatible_unit] SKIPPED (indexes don't support units) [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-dims-identical_unit] SKIPPED (indexes don't support units) [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-coords-no_unit] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-coords-dimensionless] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-coords-incompatible_unit] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-coords-compatible_unit] PASSED [ 93%] xarray/tests/test_units.py::TestDataset::test_merge[int64-coords-identical_unit] PASSED [ 93%] xarray/tests/test_units.py::TestPintWrappingDask::test_duck_array_ops PASSED [ 93%] xarray/tests/test_units.py::TestPlots::test_units_in_line_plot_labels[1-coord_attrs0] SKIPPED (requires matplotlib) [ 93%] xarray/tests/test_units.py::TestPlots::test_units_in_line_plot_labels[coord_unit1-coord_attrs1] SKIPPED (requires matplotlib) [ 93%] xarray/tests/test_units.py::TestPlots::test_units_in_slice_line_plot_labels_sel[1-coord_attrs0] SKIPPED (requires matplotlib) [ 93%] xarray/tests/test_units.py::TestPlots::test_units_in_slice_line_plot_labels_sel[coord_unit1-coord_attrs1] SKIPPED (requires matplotlib) [ 93%] xarray/tests/test_units.py::TestPlots::test_units_in_slice_line_plot_labels_isel[1-coord_attrs0] SKIPPED (requires matplotlib) [ 93%] xarray/tests/test_units.py::TestPlots::test_units_in_slice_line_plot_labels_isel[coord_unit1-coord_attrs1] SKIPPED (requires matplotlib) [ 93%] xarray/tests/test_units.py::TestPlots::test_units_in_2d_plot_colorbar_label SKIPPED (requires matplotlib) [ 93%] xarray/tests/test_units.py::TestPlots::test_units_facetgrid_plot_labels SKIPPED (requires matplotlib) [ 93%] xarray/tests/test_units.py::TestPlots::test_units_facetgrid_2d_imshow_plot_colorbar_labels SKIPPED (requires matplotlib) [ 93%] xarray/tests/test_units.py::TestPlots::test_units_facetgrid_2d_contourf_plot_colorbar_labels SKIPPED (requires matplotlib) [ 93%] xarray/tests/test_utils.py::TestAlias::test PASSED [ 93%] xarray/tests/test_utils.py::test_maybe_coerce_to_str[a-b-expected0] PASSED [ 93%] xarray/tests/test_utils.py::test_maybe_coerce_to_str[1-2-expected1] PASSED [ 93%] xarray/tests/test_utils.py::test_maybe_coerce_to_str_minimal_str_dtype PASSED [ 93%] xarray/tests/test_utils.py::TestArrayEquiv::test_0d PASSED [ 93%] xarray/tests/test_utils.py::TestDictionaries::test_equivalent PASSED [ 93%] xarray/tests/test_utils.py::TestDictionaries::test_safe PASSED [ 93%] xarray/tests/test_utils.py::TestDictionaries::test_unsafe PASSED [ 93%] xarray/tests/test_utils.py::TestDictionaries::test_compat_dict_intersection PASSED [ 93%] xarray/tests/test_utils.py::TestDictionaries::test_compat_dict_union PASSED [ 93%] xarray/tests/test_utils.py::TestDictionaries::test_dict_equiv PASSED [ 93%] xarray/tests/test_utils.py::TestDictionaries::test_frozen PASSED [ 93%] xarray/tests/test_utils.py::test_repr_object PASSED [ 93%] xarray/tests/test_utils.py::test_repr_object_magic_methods PASSED [ 93%] xarray/tests/test_utils.py::test_is_remote_uri PASSED [ 93%] xarray/tests/test_utils.py::Test_is_uniform_and_sorted::test_sorted_uniform PASSED [ 93%] xarray/tests/test_utils.py::Test_is_uniform_and_sorted::test_sorted_not_uniform PASSED [ 93%] xarray/tests/test_utils.py::Test_is_uniform_and_sorted::test_not_sorted_uniform PASSED [ 93%] xarray/tests/test_utils.py::Test_is_uniform_and_sorted::test_not_sorted_not_uniform PASSED [ 93%] xarray/tests/test_utils.py::Test_is_uniform_and_sorted::test_two_numbers PASSED [ 93%] xarray/tests/test_utils.py::Test_is_uniform_and_sorted::test_relative_tolerance PASSED [ 93%] xarray/tests/test_utils.py::Test_hashable::test_hashable PASSED [ 93%] xarray/tests/test_utils.py::test_dask_array_is_scalar PASSED [ 93%] xarray/tests/test_utils.py::test_hidden_key_dict PASSED [ 93%] xarray/tests/test_utils.py::test_either_dict_or_kwargs PASSED [ 93%] xarray/tests/test_utils.py::test_infix_dims[supplied0-all_0-expected0] PASSED [ 93%] xarray/tests/test_utils.py::test_infix_dims[supplied1-all_1-expected1] PASSED [ 93%] xarray/tests/test_utils.py::test_infix_dims[supplied2-all_2-expected2] PASSED [ 93%] xarray/tests/test_utils.py::test_infix_dims[supplied3-all_3-expected3] PASSED [ 93%] xarray/tests/test_utils.py::test_infix_dims[supplied4-all_4-expected4] PASSED [ 93%] xarray/tests/test_utils.py::test_infix_dims[supplied5-all_5-expected5] PASSED [ 93%] xarray/tests/test_utils.py::test_infix_dims_errors[supplied0-all_0] PASSED [ 93%] xarray/tests/test_utils.py::test_infix_dims_errors[supplied1-all_1] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_dims[str] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_dims[list_of_str] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_dims[list_mixed] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_dims[tuple_of_str] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_dims[list_with_tuple] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_dims[tuple_of_tuple] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_dims[None] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_dims[ellipsis] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_dims_set PASSED [ 93%] xarray/tests/test_utils.py::test_parse_dims_replace_none[None] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_dims_replace_none[ellipsis] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_dims_raises[str_missing] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_dims_raises[list_missing_one] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_dims_raises[list_missing_all] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_ordered_dims[str] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_ordered_dims[list] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_ordered_dims[list_only_ellipsis] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_ordered_dims[list_with_ellipsis] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_ordered_dims[list_with_middle_ellipsis] PASSED [ 93%] xarray/tests/test_utils.py::test_parse_ordered_dims_raises PASSED [ 93%] xarray/tests/test_utils.py::test_iterate_nested[nested_list0-expected0] PASSED [ 93%] xarray/tests/test_utils.py::test_iterate_nested[nested_list1-expected1] PASSED [ 93%] xarray/tests/test_utils.py::test_iterate_nested[nested_list2-expected2] PASSED [ 93%] xarray/tests/test_utils.py::test_iterate_nested[nested_list3-expected3] PASSED [ 93%] xarray/tests/test_utils.py::test_iterate_nested[nested_list4-expected4] PASSED [ 93%] xarray/tests/test_utils.py::test_iterate_nested[nested_list5-expected5] PASSED [ 93%] xarray/tests/test_utils.py::test_find_stack_level PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_properties PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_attrs PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_getitem_dict PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_getitem_1d PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_getitem_1d_fancy PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_getitem_with_mask PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_getitem_with_mask_size_zero PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_getitem_with_mask_nd_indexer PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_index_0d_int PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_index_0d_float PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_index_0d_string PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_index_0d_datetime PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_index_0d_timedelta64 PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_index_0d_not_a_time PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_index_0d_object PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_0d_object_array_with_list PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_index_and_concat_datetime PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_0d_time_data PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_datetime64_conversion PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_timedelta64_conversion PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_object_conversion PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_datetime64_valid_range PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_timedelta64_valid_range XFAIL (pandas issue 36615) [ 93%] xarray/tests/test_variable.py::TestVariable::test_pandas_data PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_pandas_period_index PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_1d_math PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_1d_reduce PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_array_interface PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test___array__ PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_equals_all_dtypes PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_eq_all_dtypes PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_encoding_preserved PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_concat PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_concat_attrs PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_concat_fixed_len_str PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_concat_number_strings PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_concat_mixed_dtypes PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_copy[float-True] PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_copy[float-False] PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_copy[int-True] PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_copy[int-False] PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_copy[str-True] PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_copy[str-False] PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_copy_deep_recursive PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_copy_index PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_copy_with_data PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_copy_with_data_errors PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_copy_index_with_data PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_copy_index_with_data_errors PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_replace PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_real_and_imag PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_aggregate_complex PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_pandas_cateogrical_dtype PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_pandas_datetime64_with_tz PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_multiindex PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_load PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_getitem_advanced PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_getitem_uint_1d PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_getitem_uint PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_getitem_0d_array PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_getitem_fancy PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_getitem_error PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg0-np_arg0-mean] PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg0-np_arg0-median] XPASS (median is not implemented by Dask) [ 93%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg0-np_arg0-reflect] XPASS (dask.array.pad bug) [ 93%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg0-np_arg0-edge] PASSED [ 93%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg0-np_arg0-linear_ramp] XPASS (pint bug: https://github.com/hgrecco/pint/issues/1026) [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg0-np_arg0-maximum] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg0-np_arg0-minimum] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg0-np_arg0-symmetric] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg0-np_arg0-wrap] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg1-np_arg1-mean] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg1-np_arg1-median] XPASS (median is not implemented by Dask) [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg1-np_arg1-reflect] XPASS (dask.array.pad bug) [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg1-np_arg1-edge] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg1-np_arg1-linear_ramp] XPASS (pint bug: https://github.com/hgrecco/pint/issues/1026) [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg1-np_arg1-maximum] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg1-np_arg1-minimum] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg1-np_arg1-symmetric] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg1-np_arg1-wrap] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg2-np_arg2-mean] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg2-np_arg2-median] XPASS (median is not implemented by Dask) [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg2-np_arg2-reflect] XPASS (dask.array.pad bug) [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg2-np_arg2-edge] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg2-np_arg2-linear_ramp] XPASS (pint bug: https://github.com/hgrecco/pint/issues/1026) [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg2-np_arg2-maximum] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg2-np_arg2-minimum] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg2-np_arg2-symmetric] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg2-np_arg2-wrap] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg3-np_arg3-mean] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg3-np_arg3-median] XPASS (median is not implemented by Dask) [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg3-np_arg3-reflect] XPASS (dask.array.pad bug) [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg3-np_arg3-edge] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg3-np_arg3-linear_ramp] XPASS (pint bug: https://github.com/hgrecco/pint/issues/1026) [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg3-np_arg3-maximum] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg3-np_arg3-minimum] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg3-np_arg3-symmetric] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg3-np_arg3-wrap] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg4-np_arg4-mean] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg4-np_arg4-median] XPASS (median is not implemented by Dask) [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg4-np_arg4-reflect] XPASS (dask.array.pad bug) [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg4-np_arg4-edge] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg4-np_arg4-linear_ramp] XPASS (pint bug: https://github.com/hgrecco/pint/issues/1026) [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg4-np_arg4-maximum] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg4-np_arg4-minimum] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg4-np_arg4-symmetric] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad[xr_arg4-np_arg4-wrap] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad_constant_values[xr_arg0-np_arg0] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad_constant_values[xr_arg1-np_arg1] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad_constant_values[xr_arg2-np_arg2] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad_constant_values[xr_arg3-np_arg3] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad_constant_values[xr_arg4-np_arg4] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad_keep_attrs[default] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad_keep_attrs[False] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_pad_keep_attrs[True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_rolling_window[x-3] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_rolling_window[y-5] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_rolling_1d PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_nd_rolling[dims0-center0] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_nd_rolling[dims0-center1] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_nd_rolling[dims1-center0] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_nd_rolling[dims1-center1] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_nd_rolling[dims2-center0] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_nd_rolling[dims2-center1] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_rolling_window_errors[x-window0-x_w-True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_rolling_window_errors[x-3-window_dim1-True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_rolling_window_errors[x-3-x_w-center2] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_data_and_values PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_numpy_same_methods PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_datetime64_conversion_scalar PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_timedelta64_conversion_scalar PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_0d_str PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_0d_datetime PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_0d_timedelta PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_equals_and_identical PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_broadcast_equals PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_no_conflicts PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_as_variable PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_repr PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_repr_lazy_data PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_detect_indexer_type PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_indexer_type PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_items PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_getitem_basic PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_getitem_with_mask_2d_input PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_isel PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_index_0d_numpy_string PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_indexing_0d_unicode PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_shift[fill_value0] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_shift[2] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_shift[2.0] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_shift2d PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_roll PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_roll_consistency PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_transpose PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_transpose_0d PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_squeeze PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_get_axis_num PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_set_dims PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_set_dims_object_dtype PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_stack PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_stack_errors PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_unstack PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_unstack_errors PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_unstack_2d PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_stack_unstack_consistency PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_broadcasting_math PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_broadcasting_failures PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_inplace_math PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_inplace_math_error PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_reduce PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_reduce_use_bottleneck PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[None-None-0.25-True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[None-None-0.25-False] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[None-None-0.25-None] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[None-None-q1-True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[None-None-q1-False] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[None-None-q1-None] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[None-None-q2-True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[None-None-q2-False] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[None-None-q2-None] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[0-x-0.25-True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[0-x-0.25-False] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[0-x-0.25-None] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[0-x-q1-True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[0-x-q1-False] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[0-x-q1-None] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[0-x-q2-True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[0-x-q2-False] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[0-x-q2-None] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis2-dim2-0.25-True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis2-dim2-0.25-False] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis2-dim2-0.25-None] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis2-dim2-q1-True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis2-dim2-q1-False] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis2-dim2-q1-None] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis2-dim2-q2-True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis2-dim2-q2-False] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis2-dim2-q2-None] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis3-dim3-0.25-True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis3-dim3-0.25-False] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis3-dim3-0.25-None] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis3-dim3-q1-True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis3-dim3-q1-False] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis3-dim3-q1-None] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis3-dim3-q2-True] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis3-dim3-q2-False] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile[axis3-dim3-q2-None] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_dask[1-y-0.25] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_dask[1-y-q1] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_dask[1-y-q2] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_dask[axis1-dim1-0.25] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_dask[axis1-dim1-q1] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_dask[axis1-dim1-q2] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_method[True-midpoint] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_method[True-lower] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_method[False-midpoint] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_method[False-lower] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_interpolation_deprecation[midpoint] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_interpolation_deprecation[lower] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_chunked_dim_error PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_out_of_bounds[-0.1] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_out_of_bounds[1.1] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_out_of_bounds[q2] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_quantile_out_of_bounds[q3] PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_rank_dask_raises PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_rank_use_bottleneck PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_rank PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_big_endian_reduce PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_reduce_funcs PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_reduce_keepdims PASSED [ 94%] xarray/tests/test_variable.py::TestVariable::test_reduce_keepdims_dask PASSED [ 95%] xarray/tests/test_variable.py::TestVariable::test_reduce_keep_attrs PASSED [ 95%] xarray/tests/test_variable.py::TestVariable::test_binary_ops_keep_attrs PASSED [ 95%] xarray/tests/test_variable.py::TestVariable::test_count PASSED [ 95%] xarray/tests/test_variable.py::TestVariable::test_setitem PASSED [ 95%] xarray/tests/test_variable.py::TestVariable::test_setitem_fancy PASSED [ 95%] xarray/tests/test_variable.py::TestVariable::test_coarsen PASSED [ 95%] xarray/tests/test_variable.py::TestVariable::test_coarsen_2d PASSED [ 95%] xarray/tests/test_variable.py::TestVariable::test_coarsen_keep_attrs PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_properties PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_attrs PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_getitem_dict PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_getitem_1d PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_getitem_with_mask PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_getitem_with_mask_size_zero PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_index_0d_int PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_index_0d_float PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_index_0d_string PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_index_0d_datetime PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_index_0d_timedelta64 PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_index_0d_not_a_time PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_index_0d_object PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_index_and_concat_datetime PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_0d_time_data PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_datetime64_conversion PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_timedelta64_conversion PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_object_conversion PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_datetime64_valid_range PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_timedelta64_valid_range XFAIL (pandas issue 36615) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pandas_data PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pandas_period_index PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_1d_math PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_1d_reduce PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test___array__ PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_equals_all_dtypes PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_encoding_preserved PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_concat PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_concat_attrs PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_concat_fixed_len_str PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_concat_number_strings PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_concat_mixed_dtypes PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_copy[float-True] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_copy[float-False] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_copy[int-True] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_copy[int-False] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_copy[str-True] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_copy[str-False] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_copy_deep_recursive PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_copy_with_data PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_copy_with_data_errors PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_copy_index_with_data PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_copy_index_with_data_errors PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_replace PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_real_and_imag PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_aggregate_complex PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pandas_cateogrical_dtype PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pandas_datetime64_with_tz PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_load PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_getitem_advanced PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_getitem_uint_1d PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_getitem_uint PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_getitem_0d_array PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_getitem_error PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg0-np_arg0-mean] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg0-np_arg0-median] XFAIL (median is not implemented by Dask) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg0-np_arg0-reflect] XPASS (dask.array.pad bug) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg0-np_arg0-edge] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg0-np_arg0-linear_ramp] XPASS (pint bug: https://github.com/hgrecco/pint/issues/1026) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg0-np_arg0-maximum] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg0-np_arg0-minimum] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg0-np_arg0-symmetric] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg0-np_arg0-wrap] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg1-np_arg1-mean] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg1-np_arg1-median] XFAIL (median is not implemented by Dask) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg1-np_arg1-reflect] XPASS (dask.array.pad bug) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg1-np_arg1-edge] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg1-np_arg1-linear_ramp] XPASS (pint bug: https://github.com/hgrecco/pint/issues/1026) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg1-np_arg1-maximum] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg1-np_arg1-minimum] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg1-np_arg1-symmetric] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg1-np_arg1-wrap] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg2-np_arg2-mean] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg2-np_arg2-median] XFAIL (median is not implemented by Dask) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg2-np_arg2-reflect] XFAIL (dask.array.pad bug) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg2-np_arg2-edge] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg2-np_arg2-linear_ramp] XPASS (pint bug: https://github.com/hgrecco/pint/issues/1026) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg2-np_arg2-maximum] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg2-np_arg2-minimum] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg2-np_arg2-symmetric] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg2-np_arg2-wrap] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg3-np_arg3-mean] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg3-np_arg3-median] XFAIL (median is not implemented by Dask) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg3-np_arg3-reflect] XFAIL (dask.array.pad bug) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg3-np_arg3-edge] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg3-np_arg3-linear_ramp] XPASS (pint bug: https://github.com/hgrecco/pint/issues/1026) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg3-np_arg3-maximum] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg3-np_arg3-minimum] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg3-np_arg3-symmetric] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg3-np_arg3-wrap] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg4-np_arg4-mean] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg4-np_arg4-median] XFAIL (median is not implemented by Dask) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg4-np_arg4-reflect] XFAIL (dask.array.pad bug) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg4-np_arg4-edge] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg4-np_arg4-linear_ramp] XPASS (pint bug: https://github.com/hgrecco/pint/issues/1026) [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg4-np_arg4-maximum] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg4-np_arg4-minimum] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg4-np_arg4-symmetric] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad[xr_arg4-np_arg4-wrap] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad_constant_values[xr_arg0-np_arg0] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad_constant_values[xr_arg1-np_arg1] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad_constant_values[xr_arg2-np_arg2] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad_constant_values[xr_arg3-np_arg3] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad_constant_values[xr_arg4-np_arg4] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad_keep_attrs[default] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad_keep_attrs[False] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_pad_keep_attrs[True] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_rolling_window[x-3] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_rolling_window[y-5] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_rolling_1d PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_nd_rolling[dims0-center0] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_nd_rolling[dims0-center1] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_nd_rolling[dims1-center0] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_nd_rolling[dims1-center1] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_nd_rolling[dims2-center0] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_nd_rolling[dims2-center1] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_rolling_window_errors[x-window0-x_w-True] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_rolling_window_errors[x-3-window_dim1-True] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_rolling_window_errors[x-3-x_w-center2] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_chunk PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_0d_object_array_with_list XFAIL [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_array_interface XFAIL [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_copy_index XFAIL [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_eq_all_dtypes XFAIL [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_getitem_fancy PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_getitem_1d_fancy PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_getitem_with_mask_nd_indexer PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_dask_rolling[True-3-x] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_dask_rolling[True-3-y] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_dask_rolling[True-8-x] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_dask_rolling[True-8-y] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_dask_rolling[True-11-x] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_dask_rolling[True-11-y] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_dask_rolling[False-3-x] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_dask_rolling[False-3-y] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_dask_rolling[False-8-x] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_dask_rolling[False-8-y] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_dask_rolling[False-11-x] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_dask_rolling[False-11-y] PASSED [ 95%] xarray/tests/test_variable.py::TestVariableWithDask::test_multiindex XPASS (https://github.com/pydata/xarray/issues/6209#issuecomment-1025116203) [ 95%] xarray/tests/test_variable.py::TestVariableWithSparse::test_as_sparse SKIPPED (requires sparse) [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_properties PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_attrs PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_getitem_dict PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_getitem_1d PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_getitem_1d_fancy PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_getitem_with_mask PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_getitem_with_mask_size_zero PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_getitem_with_mask_nd_indexer PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_index_0d_int PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_index_0d_float PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_index_0d_string PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_index_0d_datetime PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_index_0d_timedelta64 PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_index_0d_not_a_time PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_index_0d_object PASSED [ 95%] xarray/tests/test_variable.py::TestIndexVariable::test_0d_object_array_with_list PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_index_and_concat_datetime PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_0d_time_data PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_datetime64_conversion PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_timedelta64_conversion PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_object_conversion PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_datetime64_valid_range PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_timedelta64_valid_range XFAIL (pandas issue 36615) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pandas_data PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pandas_period_index PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_1d_math PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_1d_reduce PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_array_interface PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test___array__ PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_equals_all_dtypes PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_eq_all_dtypes PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_encoding_preserved PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_concat PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_concat_attrs PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_concat_fixed_len_str PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_concat_number_strings PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_concat_mixed_dtypes PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_copy[float-True] PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_copy[float-False] PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_copy[int-True] PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_copy[int-False] PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_copy[str-True] PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_copy[str-False] PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_copy_deep_recursive PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_copy_index PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_copy_with_data PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_copy_with_data_errors PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_copy_index_with_data PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_copy_index_with_data_errors PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_replace PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_real_and_imag PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_aggregate_complex PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pandas_cateogrical_dtype PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pandas_datetime64_with_tz PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_multiindex PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_load PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_getitem_uint_1d PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_getitem_0d_array PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad_keep_attrs[default] PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad_keep_attrs[False] PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad_keep_attrs[True] PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_init PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_to_index PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_to_index_multiindex_level PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_multiindex_default_level_names PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_data PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_name PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_level_names PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_get_level_variable PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_concat_periods PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_concat_multiindex PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_concat_str_dtype[str] PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_concat_str_dtype[bytes] PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_coordinate_alias PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_datetime64 PASSED [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_getitem_error SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_getitem_advanced SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_getitem_fancy SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_getitem_uint SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg0-np_arg0-mean] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg0-np_arg0-median] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg0-np_arg0-reflect] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg0-np_arg0-edge] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg0-np_arg0-linear_ramp] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg0-np_arg0-maximum] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg0-np_arg0-minimum] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg0-np_arg0-symmetric] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg0-np_arg0-wrap] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg1-np_arg1-mean] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg1-np_arg1-median] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg1-np_arg1-reflect] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg1-np_arg1-edge] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg1-np_arg1-linear_ramp] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg1-np_arg1-maximum] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg1-np_arg1-minimum] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg1-np_arg1-symmetric] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg1-np_arg1-wrap] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg2-np_arg2-mean] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg2-np_arg2-median] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg2-np_arg2-reflect] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg2-np_arg2-edge] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg2-np_arg2-linear_ramp] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg2-np_arg2-maximum] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg2-np_arg2-minimum] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg2-np_arg2-symmetric] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg2-np_arg2-wrap] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg3-np_arg3-mean] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg3-np_arg3-median] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg3-np_arg3-reflect] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg3-np_arg3-edge] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg3-np_arg3-linear_ramp] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg3-np_arg3-maximum] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg3-np_arg3-minimum] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg3-np_arg3-symmetric] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg3-np_arg3-wrap] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg4-np_arg4-mean] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg4-np_arg4-median] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg4-np_arg4-reflect] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg4-np_arg4-edge] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg4-np_arg4-linear_ramp] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg4-np_arg4-maximum] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg4-np_arg4-minimum] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg4-np_arg4-symmetric] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad[xr_arg4-np_arg4-wrap] SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_pad_constant_values SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_rolling_window SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_rolling_1d SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_nd_rolling SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_rolling_window_errors SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_coarsen_2d SKIPPED (unconditional skip) [ 96%] xarray/tests/test_variable.py::TestIndexVariable::test_to_index_variable_copy PASSED [ 96%] xarray/tests/test_variable.py::TestAsCompatibleData::test_unchanged_types PASSED [ 96%] xarray/tests/test_variable.py::TestAsCompatibleData::test_converted_types PASSED [ 96%] xarray/tests/test_variable.py::TestAsCompatibleData::test_masked_array PASSED [ 96%] xarray/tests/test_variable.py::TestAsCompatibleData::test_datetime PASSED [ 96%] xarray/tests/test_variable.py::TestAsCompatibleData::test_tz_datetime SKIPPED (requires pandas 2.0.0) [ 96%] xarray/tests/test_variable.py::TestAsCompatibleData::test_full_like PASSED [ 96%] xarray/tests/test_variable.py::TestAsCompatibleData::test_full_like_dask PASSED [ 96%] xarray/tests/test_variable.py::TestAsCompatibleData::test_zeros_like PASSED [ 96%] xarray/tests/test_variable.py::TestAsCompatibleData::test_ones_like PASSED [ 96%] xarray/tests/test_variable.py::TestAsCompatibleData::test_unsupported_type PASSED [ 96%] xarray/tests/test_variable.py::test_raise_no_warning_for_nan_in_binary_ops PASSED [ 96%] xarray/tests/test_variable.py::TestBackendIndexing::test_NumpyIndexingAdapter PASSED [ 96%] xarray/tests/test_variable.py::TestBackendIndexing::test_LazilyIndexedArray PASSED [ 96%] xarray/tests/test_variable.py::TestBackendIndexing::test_CopyOnWriteArray PASSED [ 96%] xarray/tests/test_variable.py::TestBackendIndexing::test_MemoryCachedArray PASSED [ 96%] xarray/tests/test_variable.py::TestBackendIndexing::test_DaskIndexingAdapter PASSED [ 96%] xarray/tests/test_variable.py::test_clip PASSED [ 96%] xarray/tests/test_variable.py::TestNumpyCoercion::test_from_numpy[Variable] PASSED [ 96%] xarray/tests/test_variable.py::TestNumpyCoercion::test_from_numpy[IndexVariable] PASSED [ 96%] xarray/tests/test_variable.py::TestNumpyCoercion::test_from_dask[Variable] PASSED [ 96%] xarray/tests/test_variable.py::TestNumpyCoercion::test_from_dask[IndexVariable] PASSED [ 96%] xarray/tests/test_variable.py::TestNumpyCoercion::test_from_pint[Variable] PASSED [ 96%] xarray/tests/test_variable.py::TestNumpyCoercion::test_from_pint[IndexVariable] PASSED [ 96%] xarray/tests/test_variable.py::TestNumpyCoercion::test_from_sparse[Variable] SKIPPED (requires sparse) [ 96%] xarray/tests/test_variable.py::TestNumpyCoercion::test_from_sparse[IndexVariable] SKIPPED (requires sparse) [ 96%] xarray/tests/test_variable.py::TestNumpyCoercion::test_from_cupy[Variable] SKIPPED (requires cupy) [ 96%] xarray/tests/test_variable.py::TestNumpyCoercion::test_from_cupy[IndexVariable] SKIPPED (requires cupy) [ 96%] xarray/tests/test_variable.py::TestNumpyCoercion::test_from_pint_wrapping_dask[Variable] PASSED [ 96%] xarray/tests/test_variable.py::TestNumpyCoercion::test_from_pint_wrapping_dask[IndexVariable] PASSED [ 96%] xarray/tests/test_variable.py::test_datetime_conversion_warning[2000-01-01T00:00:00.000000000-False] PASSED [ 96%] xarray/tests/test_variable.py::test_datetime_conversion_warning[2000-01-01T00:00:00-True] PASSED [ 96%] xarray/tests/test_variable.py::test_datetime_conversion_warning[['2000-01-01T00:00:00.000000000']-False] PASSED [ 96%] xarray/tests/test_variable.py::test_datetime_conversion_warning[['2000-01-01T00:00:00']-True] PASSED [ 96%] xarray/tests/test_variable.py::test_datetime_conversion_warning[DatetimeIndex(['2000-01-01'], dtype='datetime64[ns]', freq='D')-False] PASSED [ 96%] xarray/tests/test_variable.py::test_datetime_conversion_warning[2000-01-01 00:00:00-False] PASSED [ 96%] xarray/tests/test_variable.py::test_datetime_conversion_warning[[datetime.datetime(2000, 1, 1, 0, 0)]-False] PASSED [ 96%] xarray/tests/test_variable.py::test_datetime_conversion_warning[DatetimeIndex(['2000-01-01 00:00:00-05:00'], dtype='datetime64[ns, US/Eastern]', freq='D')-False] PASSED [ 96%] xarray/tests/test_variable.py::test_datetime_conversion_warning[0 2000-01-01 00:00:00-05:00\ndtype: datetime64[ns, US/Eastern]-False] PASSED [ 96%] xarray/tests/test_variable.py::test_pandas_two_only_datetime_conversion_warnings SKIPPED (requires pandas 2.0.0) [ 96%] xarray/tests/test_variable.py::test_timedelta_conversion_warning[10 nanoseconds-False] PASSED [ 96%] xarray/tests/test_variable.py::test_timedelta_conversion_warning[10 seconds-True] PASSED [ 96%] xarray/tests/test_variable.py::test_timedelta_conversion_warning[[10]-False] PASSED [ 96%] xarray/tests/test_variable.py::test_timedelta_conversion_warning[[10]-True] PASSED [ 96%] xarray/tests/test_variable.py::test_timedelta_conversion_warning[TimedeltaIndex(['0 days 00:00:00.000000001'], dtype='timedelta64[ns]', freq='D')-False] PASSED [ 96%] xarray/tests/test_variable.py::test_timedelta_conversion_warning[1 day, 0:00:00-False] PASSED [ 96%] xarray/tests/test_variable.py::test_timedelta_conversion_warning[[datetime.timedelta(days=1)]-False] PASSED [ 96%] xarray/tests/test_variable.py::test_pandas_two_only_timedelta_conversion_warning SKIPPED (requires pandas 2.0.0) [ 96%] xarray/tests/test_weighted.py::test_weighted_non_DataArray_weights[True] PASSED [ 96%] xarray/tests/test_weighted.py::test_weighted_non_DataArray_weights[False] PASSED [ 96%] xarray/tests/test_weighted.py::test_weighted_weights_nan_raises[weights0-True] PASSED [ 96%] xarray/tests/test_weighted.py::test_weighted_weights_nan_raises[weights0-False] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_weights_nan_raises[weights1-True] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_weights_nan_raises[weights1-False] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_weights_nan_raises_dask[weights0-True] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_weights_nan_raises_dask[weights0-False] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_weights_nan_raises_dask[weights1-True] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_weights_nan_raises_dask[weights1-False] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_lazy_resample[1AS-1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_lazy_resample[1AS-5] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_lazy_resample[5AS-1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_lazy_resample[5AS-5] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_lazy_resample[10AS-1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_lazy_resample[10AS-5] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_of_weights_no_nan[weights0-3] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_of_weights_no_nan[weights1-2] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_of_weights_no_nan[weights2-nan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_of_weights_no_nan[weights3-nan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_of_weights_nan[weights0-2] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_of_weights_nan[weights1-nan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_of_weights_nan[weights2-nan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_of_weights_nan[weights3-1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_of_weights_bool PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[True-0-da0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[True-0-da1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[True-0-da2] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[True-1-da0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[True-1-da1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[True-1-da2] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[True-3.14-da0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[True-3.14-da1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[True-3.14-da2] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[False-0-da0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[False-0-da1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[False-0-da2] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[False-1-da0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[False-1-da1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[False-1-da2] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[False-3.14-da0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[False-3.14-da1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_equal_weights[False-3.14-da2] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_no_nan[weights0-5] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_no_nan[weights1-4] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_no_nan[weights2-0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_nan[True-weights0-4] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_nan[True-weights1-4] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_nan[True-weights2-0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_nan[True-weights3-0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_nan[False-weights0-4] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_nan[False-weights1-4] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_nan[False-weights2-0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_sum_nan[False-weights3-0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[1-True-da0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[1-True-da1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[1-True-da2] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[1-False-da0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[1-False-da1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[1-False-da2] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[2-True-da0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[2-True-da1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[2-True-da2] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[2-False-da0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[2-False-da1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[2-False-da2] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[3.14-True-da0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[3.14-True-da1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[3.14-True-da2] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[3.14-False-da0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[3.14-False-da1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_equal_weights[3.14-False-da2] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_no_nan[weights0-1.6] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_no_nan[weights1-1.0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_mean_no_nan[weights2-nan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_no_nan[weights0-expected0] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_no_nan[weights1-expected1] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_zero_weights PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_simple PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_nan[True] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_nan[False] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[1-True-0.5-nonan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[1-True-0.5-singlenan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[1-True-0.5-allnan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[1-True-q1-nonan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[1-True-q1-singlenan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[1-True-q1-allnan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[1-False-0.5-nonan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[1-False-0.5-singlenan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[1-False-0.5-allnan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[1-False-q1-nonan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[1-False-q1-singlenan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[1-False-q1-allnan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[3.14-True-0.5-nonan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[3.14-True-0.5-singlenan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[3.14-True-0.5-allnan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[3.14-True-q1-nonan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[3.14-True-q1-singlenan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[3.14-True-q1-allnan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[3.14-False-0.5-nonan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[3.14-False-0.5-singlenan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[3.14-False-0.5-allnan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[3.14-False-q1-nonan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[3.14-False-q1-singlenan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights[3.14-False-q1-allnan] PASSED [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[linear-True-0.5-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[linear-True-0.5-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[linear-True-0.5-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[linear-True-q1-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[linear-True-q1-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[linear-True-q1-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[linear-False-0.5-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[linear-False-0.5-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[linear-False-0.5-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[linear-False-q1-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[linear-False-q1-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[linear-False-q1-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[interpolated_inverted_cdf-True-0.5-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[interpolated_inverted_cdf-True-0.5-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[interpolated_inverted_cdf-True-0.5-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[interpolated_inverted_cdf-True-q1-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[interpolated_inverted_cdf-True-q1-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[interpolated_inverted_cdf-True-q1-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[interpolated_inverted_cdf-False-0.5-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[interpolated_inverted_cdf-False-0.5-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[interpolated_inverted_cdf-False-0.5-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[interpolated_inverted_cdf-False-q1-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[interpolated_inverted_cdf-False-q1-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[interpolated_inverted_cdf-False-q1-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[hazen-True-0.5-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[hazen-True-0.5-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[hazen-True-0.5-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[hazen-True-q1-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[hazen-True-q1-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[hazen-True-q1-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[hazen-False-0.5-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[hazen-False-0.5-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[hazen-False-0.5-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[hazen-False-q1-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[hazen-False-q1-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[hazen-False-q1-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[weibull-True-0.5-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[weibull-True-0.5-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[weibull-True-0.5-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[weibull-True-q1-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[weibull-True-q1-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[weibull-True-q1-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[weibull-False-0.5-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[weibull-False-0.5-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[weibull-False-0.5-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[weibull-False-q1-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[weibull-False-q1-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[weibull-False-q1-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[median_unbiased-True-0.5-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[median_unbiased-True-0.5-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[median_unbiased-True-0.5-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[median_unbiased-True-q1-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[median_unbiased-True-q1-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[median_unbiased-True-q1-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[median_unbiased-False-0.5-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[median_unbiased-False-0.5-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[median_unbiased-False-0.5-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[median_unbiased-False-q1-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[median_unbiased-False-q1-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[median_unbiased-False-q1-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[normal_unbiased2-True-0.5-da0] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[normal_unbiased2-True-0.5-da1] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[normal_unbiased2-True-0.5-da2] SKIPPED (`method` argument is not currently exposed) [ 97%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[normal_unbiased2-True-q1-da0] SKIPPED (`method` argument is not currently exposed) [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[normal_unbiased2-True-q1-da1] SKIPPED (`method` argument is not currently exposed) [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[normal_unbiased2-True-q1-da2] SKIPPED (`method` argument is not currently exposed) [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[normal_unbiased2-False-0.5-da0] SKIPPED (`method` argument is not currently exposed) [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[normal_unbiased2-False-0.5-da1] SKIPPED (`method` argument is not currently exposed) [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[normal_unbiased2-False-0.5-da2] SKIPPED (`method` argument is not currently exposed) [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[normal_unbiased2-False-q1-da0] SKIPPED (`method` argument is not currently exposed) [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[normal_unbiased2-False-q1-da1] SKIPPED (`method` argument is not currently exposed) [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_equal_weights_all_methods[normal_unbiased2-False-q1-da2] SKIPPED (`method` argument is not currently exposed) [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_bool PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_with_invalid_q[-1] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_with_invalid_q[1.1] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_with_invalid_q[q2] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_with_invalid_q[q3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_mean_nan[True-weights0-2.0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_mean_nan[True-weights1-nan] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_mean_nan[True-weights2-nan] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_mean_nan[False-weights0-2.0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_mean_nan[False-weights1-nan] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_mean_nan[False-weights2-nan] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_mean_bool PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_sum_of_squares_no_nan[weights0-0.6666666666666666] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_sum_of_squares_no_nan[weights1-0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_sum_of_squares_no_nan[weights2-0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_sum_of_squares_no_nan[weights3-0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_sum_of_squares_nan[weights0-0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_sum_of_squares_nan[weights1-0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_sum_of_squares_nan[weights2-0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_sum_of_squares_nan[weights3-0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_equal_weights[1-True-da0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_equal_weights[1-True-da1] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_equal_weights[1-False-da0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_equal_weights[1-False-da1] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_equal_weights[2-True-da0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_equal_weights[2-True-da1] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_equal_weights[2-False-da0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_equal_weights[2-False-da1] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_equal_weights[3.14-True-da0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_equal_weights[3.14-True-da1] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_equal_weights[3.14-False-da0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_equal_weights[3.14-False-da1] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_no_nan[weights0-0.24] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_no_nan[weights1-0.0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_no_nan[weights2-nan] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_nan[weights0-0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_nan[weights1-nan] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_nan[weights2-nan] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_var_bool PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_equal_weights[1-True-da0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_equal_weights[1-True-da1] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_equal_weights[1-False-da0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_equal_weights[1-False-da1] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_equal_weights[2-True-da0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_equal_weights[2-True-da1] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_equal_weights[2-False-da0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_equal_weights[2-False-da1] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_equal_weights[3.14-True-da0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_equal_weights[3.14-True-da1] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_equal_weights[3.14-False-da0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_equal_weights[3.14-False-da1] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_no_nan[weights0-0.4898979485566356] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_no_nan[weights1-0.0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_no_nan[weights2-nan] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_nan[weights0-0] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_nan[weights1-nan] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_nan[weights2-nan] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_std_bool PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[None-True-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[None-True-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[None-True-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[None-True-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[None-True-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[None-True-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[None-False-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[None-False-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[None-False-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[None-False-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[None-False-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[None-False-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[True-True-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[True-True-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[True-True-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[True-True-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[True-True-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[True-True-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[True-False-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[True-False-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[True-False-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[True-False-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[True-False-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[True-False-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[False-True-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[False-True-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[False-True-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[False-True-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[False-True-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[False-True-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[False-False-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[False-False-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[False-False-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[False-False-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[False-False-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_operations_3D[False-False-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-0.5-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-0.5-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-0.5-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-0.5-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-0.5-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-0.5-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-q1-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-q1-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-q1-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-q1-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-q1-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-q1-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-q2-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-q2-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-q2-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-q2-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-q2-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-True-q2-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-0.5-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-0.5-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-0.5-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-0.5-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-0.5-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-0.5-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-q1-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-q1-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-q1-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-q1-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-q1-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-q1-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-q2-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-q2-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-q2-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-q2-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-q2-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[None-False-q2-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-0.5-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-0.5-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-0.5-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-0.5-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-0.5-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-0.5-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-q1-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-q1-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-q1-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-q1-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-q1-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-q1-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-q2-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-q2-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-q2-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-q2-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-q2-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-True-q2-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-0.5-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-0.5-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-0.5-c] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-0.5-dim3] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-0.5-dim4] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-0.5-None] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-q1-a] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-q1-b] PASSED [ 98%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-q1-c] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-q1-dim3] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-q1-dim4] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-q1-None] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-q2-a] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-q2-b] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-q2-c] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-q2-dim3] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-q2-dim4] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[True-False-q2-None] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-0.5-a] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-0.5-b] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-0.5-c] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-0.5-dim3] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-0.5-dim4] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-0.5-None] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-q1-a] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-q1-b] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-q1-c] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-q1-dim3] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-q1-dim4] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-q1-None] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-q2-a] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-q2-b] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-q2-c] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-q2-dim3] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-q2-dim4] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-True-q2-None] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-0.5-a] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-0.5-b] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-0.5-c] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-0.5-dim3] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-0.5-dim4] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-0.5-None] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-q1-a] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-q1-b] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-q1-c] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-q1-dim3] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-q1-dim4] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-q1-None] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-q2-a] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-q2-b] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-q2-c] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-q2-dim3] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-q2-dim4] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_quantile_3D[False-False-q2-None] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_nonequal_coords[coords_weights0-coords_data0-2.5] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_nonequal_coords[coords_weights1-coords_data1-1.8] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_nonequal_coords[coords_weights2-coords_data2-3.8] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-True-shape_weights0-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-True-shape_weights0-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-True-shape_weights0-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-True-shape_weights1-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-True-shape_weights1-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-True-shape_weights1-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-True-shape_weights2-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-True-shape_weights2-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-True-shape_weights2-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-False-shape_weights0-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-False-shape_weights0-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-False-shape_weights0-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-False-shape_weights1-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-False-shape_weights1-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-False-shape_weights1-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-False-shape_weights2-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-False-shape_weights2-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[None-False-shape_weights2-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-True-shape_weights0-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-True-shape_weights0-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-True-shape_weights0-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-True-shape_weights1-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-True-shape_weights1-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-True-shape_weights1-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-True-shape_weights2-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-True-shape_weights2-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-True-shape_weights2-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-False-shape_weights0-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-False-shape_weights0-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-False-shape_weights0-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-False-shape_weights1-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-False-shape_weights1-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-False-shape_weights1-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-False-shape_weights2-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-False-shape_weights2-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[True-False-shape_weights2-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-True-shape_weights0-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-True-shape_weights0-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-True-shape_weights0-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-True-shape_weights1-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-True-shape_weights1-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-True-shape_weights1-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-True-shape_weights2-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-True-shape_weights2-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-True-shape_weights2-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-False-shape_weights0-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-False-shape_weights0-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-False-shape_weights0-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-False-shape_weights1-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-False-shape_weights1-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-False-shape_weights1-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-False-shape_weights2-shape_data0] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-False-shape_weights2-shape_data1] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_different_shapes[False-False-shape_weights2-shape_data2] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[True-True-sum_of_weights] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[True-True-sum] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[True-True-mean] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[True-True-sum_of_squares] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[True-True-var] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[True-True-std] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[True-True-quantile] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[True-False-sum_of_weights] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[True-False-sum] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[True-False-mean] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[True-False-sum_of_squares] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[True-False-var] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[True-False-std] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[True-False-quantile] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[False-True-sum_of_weights] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[False-True-sum] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[False-True-mean] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[False-True-sum_of_squares] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[False-True-var] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[False-True-std] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[False-True-quantile] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[False-False-sum_of_weights] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[False-False-sum] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[False-False-mean] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[False-False-sum_of_squares] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[False-False-var] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[False-False-std] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[False-False-quantile] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[None-True-sum_of_weights] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[None-True-sum] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[None-True-mean] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[None-True-sum_of_squares] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[None-True-var] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[None-True-std] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[None-True-quantile] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[None-False-sum_of_weights] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[None-False-sum] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[None-False-mean] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[None-False-sum_of_squares] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[None-False-var] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[None-False-std] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr[None-False-quantile] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr_da_in_ds[sum_of_weights] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr_da_in_ds[sum] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr_da_in_ds[mean] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr_da_in_ds[sum_of_squares] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr_da_in_ds[var] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr_da_in_ds[std] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_operations_keep_attr_da_in_ds[quantile] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_bad_dim[True-sum_of_weights] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_bad_dim[True-sum] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_bad_dim[True-mean] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_bad_dim[True-quantile] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_bad_dim[False-sum_of_weights] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_bad_dim[False-sum] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_bad_dim[False-mean] PASSED [ 99%] xarray/tests/test_weighted.py::test_weighted_bad_dim[False-quantile] PASSED [ 99%] properties/test_encode_decode.py::test_CFMask_coder_roundtrip PASSED [ 99%] properties/test_encode_decode.py::test_CFScaleOffset_coder_roundtrip PASSED [ 99%] properties/test_pandas_roundtrip.py::test_roundtrip_dataarray PASSED [ 99%] properties/test_pandas_roundtrip.py::test_roundtrip_dataset PASSED [ 99%] properties/test_pandas_roundtrip.py::test_roundtrip_pandas_series PASSED [ 99%] properties/test_pandas_roundtrip.py::test_roundtrip_pandas_dataframe XFAIL [100%] =================================== FAILURES =================================== ______________ TestNetCDF4Data.test_roundtrip_numpy_datetime_data ______________ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: > dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ flat_num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian' def _decode_datetime_with_pandas( flat_num_dates: np.ndarray, units: str, calendar: str ) -> np.ndarray: if not _is_standard_calendar(calendar): raise OutOfBoundsDatetime( "Cannot decode times from a non-standard calendar, {!r}, using " "pandas.".format(calendar) ) delta, ref_date = _unpack_netcdf_time_units(units) delta = _netcdf_to_numpy_timeunit(delta) try: ref_date = pd.Timestamp(ref_date) except ValueError: # ValueError is raised by pd.Timestamp for non-ISO timestamp # strings, in which case we fall back to using cftime raise OutOfBoundsDatetime with warnings.catch_warnings(): warnings.filterwarnings("ignore", "invalid value encountered", RuntimeWarning) if flat_num_dates.size > 0: # avoid size 0 datetimes GH1329 pd.to_timedelta(flat_num_dates.min(), delta) + ref_date pd.to_timedelta(flat_num_dates.max(), delta) + ref_date # To avoid integer overflow when converting to nanosecond units for integer # dtypes smaller than np.int64 cast all integer and unsigned integer dtype # arrays to np.int64 (GH 2002, GH 6589). Note this is safe even in the case # of np.uint64 values, because any np.uint64 value that would lead to # overflow when converting to np.int64 would not be representable with a # timedelta64 value, and therefore would raise an error in the lines above. if flat_num_dates.dtype.kind in "iu": flat_num_dates = flat_num_dates.astype(np.int64) # Cast input ordinals to integers of nanoseconds because pd.to_timedelta # works much faster when dealing with integers (GH 1399). flat_num_dates_ns_int = (flat_num_dates * _NS_PER_TIME_DELTA[delta]).astype( np.int64 ) # Use pd.to_timedelta to safely cast integer values to timedeltas, # and add those to a Timestamp to safely produce a DatetimeIndex. This # ensures that we do not encounter integer overflow at any point in the # process without raising OutOfBoundsDatetime. > return (pd.to_timedelta(flat_num_dates_ns_int, "ns") + ref_date).values /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): > return self._arith_method(other, operator.add) /usr/lib/python3.10/site-packages/pandas/core/arraylike.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): if ( isinstance(other, Index) and is_object_dtype(other.dtype) and type(other) is not Index ): # We return NotImplemented for object-dtype index *subclasses* so they have # a chance to implement ops before we unwrap them. # See https://github.com/pandas-dev/pandas/issues/31109 return NotImplemented > return super()._arith_method(other, op) /usr/lib/python3.10/site-packages/pandas/core/indexes/base.py:6717: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): res_name = ops.get_op_result_name(self, other) lvalues = self._values rvalues = extract_array(other, extract_numpy=True, extract_range=True) rvalues = ops.maybe_prepare_scalar_for_op(rvalues, lvalues.shape) rvalues = ensure_wrapped_if_datetimelike(rvalues) with np.errstate(all="ignore"): > result = ops.arithmetic_op(lvalues, rvalues, op) /usr/lib/python3.10/site-packages/pandas/core/base.py:1295: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] right = Timestamp('2000-01-01 00:00:00'), op = def arithmetic_op(left: ArrayLike, right: Any, op): """ Evaluate an arithmetic operation `+`, `-`, `*`, `/`, `//`, `%`, `**`, ... Note: the caller is responsible for ensuring that numpy warnings are suppressed (with np.errstate(all="ignore")) if needed. Parameters ---------- left : np.ndarray or ExtensionArray right : object Cannot be a DataFrame or Index. Series is *not* excluded. op : {operator.add, operator.sub, ...} Or one of the reversed variants from roperator. Returns ------- ndarray or ExtensionArray Or a 2-tuple of these in the case of divmod or rdivmod. """ # NB: We assume that extract_array and ensure_wrapped_if_datetimelike # have already been called on `left` and `right`, # and `maybe_prepare_scalar_for_op` has already been called on `right` # We need to special-case datetime64/timedelta64 dtypes (e.g. because numpy # casts integer dtypes to timedelta64 when operating with timedelta64 - GH#22390) if ( should_extension_dispatch(left, right) or isinstance(right, (Timedelta, BaseOffset, Timestamp)) or right is NaT ): # Timedelta/Timestamp and other custom scalars are included in the check # because numexpr will fail on it, see GH#31457 > res_values = op(left, right) /usr/lib/python3.10/site-packages/pandas/core/ops/array_ops.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): other_dtype = getattr(other, "dtype", None) # scalar others if other is NaT: result = self._add_nat() elif isinstance(other, (Tick, timedelta, np.timedelta64)): result = self._add_timedeltalike_scalar(other) elif isinstance(other, BaseOffset): # specifically _not_ a Tick result = self._add_offset(other) elif isinstance(other, (datetime, np.datetime64)): > result = self._add_datetimelike_scalar(other) /usr/lib/python3.10/site-packages/pandas/core/arrays/datetimelike.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') def _add_datetimelike_scalar(self, other) -> DatetimeArray: # adding a timedeltaindex to a datetimelike from pandas.core.arrays import DatetimeArray assert other is not NaT other = Timestamp(other) if other is NaT: # In this case we specifically interpret NaT as a datetime, not # the timedelta interpretation we would get by returning self + NaT result = self.asi8.view("m8[ms]") + NaT.to_datetime64() return DatetimeArray(result) i8 = self.asi8 > result = checked_add_with_arr(i8, other.value, arr_mask=self._isnan) /usr/lib/python3.10/site-packages/pandas/core/arrays/timedeltas.py:482: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ arr = array([ 0, 9223372036854775807]), b = 946684800000000000 arr_mask = array([False, False]), b_mask = None def checked_add_with_arr( arr: np.ndarray, b, arr_mask: npt.NDArray[np.bool_] | None = None, b_mask: npt.NDArray[np.bool_] | None = None, ) -> np.ndarray: """ Perform array addition that checks for underflow and overflow. Performs the addition of an int64 array and an int64 integer (or array) but checks that they do not result in overflow first. For elements that are indicated to be NaN, whether or not there is overflow for that element is automatically ignored. Parameters ---------- arr : array addend. b : array or scalar addend. arr_mask : np.ndarray[bool] or None, default None array indicating which elements to exclude from checking b_mask : np.ndarray[bool] or None, default None array or scalar indicating which element(s) to exclude from checking Returns ------- sum : An array for elements x + b for each element x in arr if b is a scalar or an array for elements x + y for each element pair (x, y) in (arr, b). Raises ------ OverflowError if any x + y exceeds the maximum or minimum int64 value. """ # For performance reasons, we broadcast 'b' to the new array 'b2' # so that it has the same size as 'arr'. b2 = np.broadcast_to(b, arr.shape) if b_mask is not None: # We do the same broadcasting for b_mask as well. b2_mask = np.broadcast_to(b_mask, arr.shape) else: b2_mask = None # For elements that are NaN, regardless of their value, we should # ignore whether they overflow or not when doing the checked add. if arr_mask is not None and b2_mask is not None: not_nan = np.logical_not(arr_mask | b2_mask) elif arr_mask is not None: not_nan = np.logical_not(arr_mask) elif b_mask is not None: # Argument 1 to "__call__" of "_UFunc_Nin1_Nout1" has incompatible type # "Optional[ndarray[Any, dtype[bool_]]]"; expected # "Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[An # y]]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, # int, float, complex, str, bytes]]]" [arg-type] not_nan = np.logical_not(b2_mask) # type: ignore[arg-type] else: not_nan = np.empty(arr.shape, dtype=bool) not_nan.fill(True) # gh-14324: For each element in 'arr' and its corresponding element # in 'b2', we check the sign of the element in 'b2'. If it is positive, # we then check whether its sum with the element in 'arr' exceeds # np.iinfo(np.int64).max. If so, we have an overflow error. If it # it is negative, we then check whether its sum with the element in # 'arr' exceeds np.iinfo(np.int64).min. If so, we have an overflow # error as well. i8max = lib.i8max i8min = iNaT mask1 = b2 > 0 mask2 = b2 < 0 if not mask1.any(): to_raise = ((i8min - b2 > arr) & not_nan).any() elif not mask2.any(): to_raise = ((i8max - b2 < arr) & not_nan).any() else: to_raise = ((i8max - b2[mask1] < arr[mask1]) & not_nan[mask1]).any() or ( (i8min - b2[mask2] > arr[mask2]) & not_nan[mask2] ).any() if to_raise: > raise OverflowError("Overflow in int64 addition") E OverflowError: Overflow in int64 addition /usr/lib/python3.10/site-packages/pandas/core/algorithms.py:1114: OverflowError During handling of the above exception, another exception occurred: times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). > dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E ValueError: year 294277 is out of range pandas/_libs/tslibs/timestamps.pyx:1374: ValueError During handling of the above exception, another exception occurred: data = LazilyIndexedArray(array=, key=BasicIndexer((slice(None, None, None),))) units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: > result = decode_cf_datetime(example_value, units, calendar, use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) except (KeyError, OutOfBoundsDatetime, OutOfBoundsTimedelta, OverflowError): dates = _decode_datetime_with_cftime( flat_num_dates.astype(float), units, calendar ) if ( dates[np.nanargmin(num_dates)].year < 1678 or dates[np.nanargmax(num_dates)].year >= 2262 ): if _is_standard_calendar(calendar): warnings.warn( "Unable to decode time axis into full " "numpy.datetime64 objects, continuing using " "cftime.datetime objects instead, reason: dates out " "of range", SerializationWarning, stacklevel=3, ) else: if _is_standard_calendar(calendar): > dates = cftime_to_nptime(dates) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) except ValueError as e: if raise_on_invalid: > raise ValueError( "Cannot convert date {} to a date in the " "standard calendar. Reason: {}.".format(t, e) ) E ValueError: Cannot convert date 294277-01-09 04:00:54 to a date in the standard calendar. Reason: year 294277 is out of range. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:453: ValueError During handling of the above exception, another exception occurred: variables = Frozen({'t': [3 values with dtype=float64] Attributes: _FillValue: nan units: ...e ()> [1 values with dtype=int64] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: > new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:551: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 't' var = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian concat_characters = True, mask_and_scale = True, decode_times = True decode_endianness = True, stack_char_dim = False, use_cftime = None decode_timedelta = True def decode_cf_variable( name: Hashable, var: Variable, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_endianness: bool = True, stack_char_dim: bool = True, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> Variable: """ Decodes a variable which may hold CF encoded information. This includes variables that have been masked and scaled, which hold CF style time variables (this is almost always the case if the dataset has been serialized) and which have strings encoded as character arrays. Parameters ---------- name : str Name of the variable. Used for better error messages. var : Variable A variable holding potentially CF encoded information. concat_characters : bool Should character arrays be concatenated to strings, for example: ["h", "e", "l", "l", "o"] -> "hello" mask_and_scale : bool Lazily scale (using scale_factor and add_offset) and mask (using _FillValue). If the _Unsigned attribute is present treat integer arrays as unsigned. decode_times : bool Decode cf times ("hours since 2000-01-01") to np.datetime64. decode_endianness : bool Decode arrays from non-native to native endianness. stack_char_dim : bool Whether to stack characters into bytes along the last dimension of this array. Passed as an argument because we need to look at the full dataset to figure out if this is appropriate. use_cftime : bool, optional Only relevant if encoded dates come from a standard calendar (e.g. "gregorian", "proleptic_gregorian", "standard", or not specified). If None (default), attempt to decode times to ``np.datetime64[ns]`` objects; if this is not possible, decode times to ``cftime.datetime`` objects. If True, always decode times to ``cftime.datetime`` objects, regardless of whether or not they can be represented using ``np.datetime64[ns]`` objects. If False, always decode times to ``np.datetime64[ns]`` objects; if this is not possible raise an error. Returns ------- out : Variable A variable holding the decoded equivalent of var. """ # Ensure datetime-like Variables are passed through unmodified (GH 6453) if _contains_datetime_like_objects(var): return var original_dtype = var.dtype if decode_timedelta is None: decode_timedelta = decode_times if concat_characters: if stack_char_dim: var = strings.CharacterArrayCoder().decode(var, name=name) var = strings.EncodedStringCoder().decode(var) if mask_and_scale: for coder in [ variables.UnsignedIntegerCoder(), variables.CFMaskCoder(), variables.CFScaleOffsetCoder(), ]: var = coder.decode(var, name=name) if decode_timedelta: var = times.CFTimedeltaCoder().decode(var, name=name) if decode_times: > var = times.CFDatetimeCoder(use_cftime=use_cftime).decode(var, name=name) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:397: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = variable = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian name = 't' def decode(self, variable: Variable, name: T_Name = None) -> Variable: units = variable.attrs.get("units", None) if isinstance(units, str) and "since" in units: dims, data, attrs, encoding = unpack_for_decoding(variable) units = pop_to(attrs, encoding, "units") calendar = pop_to(attrs, encoding, "calendar") > dtype = _decode_cf_datetime_dtype(data, units, calendar, self.use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = LazilyIndexedArray(array=, key=BasicIndexer((slice(None, None, None),))) units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: result = decode_cf_datetime(example_value, units, calendar, use_cftime) except Exception: calendar_msg = ( "the default calendar" if calendar is None else f"calendar {calendar!r}" ) msg = ( f"unable to decode time units {units!r} with {calendar_msg!r}. Try " "opening your dataset with decode_times=False or installing cftime " "if it is not installed." ) > raise ValueError(msg) E ValueError: unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:194: ValueError During handling of the above exception, another exception occurred: self = @arm_xfail def test_roundtrip_numpy_datetime_data(self) -> None: times = pd.to_datetime(["2000-01-01", "2000-01-02", "NaT"]) expected = Dataset({"t": ("t", times), "t0": times[0]}) kwargs = {"encoding": {"t0": {"units": "days since 1950-01-01"}}} > with self.roundtrip(expected, save_kwargs=kwargs) as actual: /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:311: in roundtrip with self.open(path, **open_kwargs) as ds: /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:337: in open with open_dataset(path, engine=self.engine, **kwargs) as ds: /build/python-xarray/src/xarray-2023.01.0/xarray/backends/api.py:541: in open_dataset backend_ds = backend.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/netCDF4_.py:592: in open_dataset ds = store_entrypoint.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/store.py:35: in open_dataset vars, attrs, coord_names = conventions.decode_cf_variables( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ variables = Frozen({'t': [3 values with dtype=float64] Attributes: _FillValue: nan units: ...e ()> [1 values with dtype=int64] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) except Exception as e: > raise type(e)(f"Failed to decode variable {k!r}: {e}") E ValueError: Failed to decode variable 't': unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:562: ValueError __________ TestNetCDF4ViaDaskData.test_roundtrip_numpy_datetime_data ___________ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: > dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ flat_num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian' def _decode_datetime_with_pandas( flat_num_dates: np.ndarray, units: str, calendar: str ) -> np.ndarray: if not _is_standard_calendar(calendar): raise OutOfBoundsDatetime( "Cannot decode times from a non-standard calendar, {!r}, using " "pandas.".format(calendar) ) delta, ref_date = _unpack_netcdf_time_units(units) delta = _netcdf_to_numpy_timeunit(delta) try: ref_date = pd.Timestamp(ref_date) except ValueError: # ValueError is raised by pd.Timestamp for non-ISO timestamp # strings, in which case we fall back to using cftime raise OutOfBoundsDatetime with warnings.catch_warnings(): warnings.filterwarnings("ignore", "invalid value encountered", RuntimeWarning) if flat_num_dates.size > 0: # avoid size 0 datetimes GH1329 pd.to_timedelta(flat_num_dates.min(), delta) + ref_date pd.to_timedelta(flat_num_dates.max(), delta) + ref_date # To avoid integer overflow when converting to nanosecond units for integer # dtypes smaller than np.int64 cast all integer and unsigned integer dtype # arrays to np.int64 (GH 2002, GH 6589). Note this is safe even in the case # of np.uint64 values, because any np.uint64 value that would lead to # overflow when converting to np.int64 would not be representable with a # timedelta64 value, and therefore would raise an error in the lines above. if flat_num_dates.dtype.kind in "iu": flat_num_dates = flat_num_dates.astype(np.int64) # Cast input ordinals to integers of nanoseconds because pd.to_timedelta # works much faster when dealing with integers (GH 1399). flat_num_dates_ns_int = (flat_num_dates * _NS_PER_TIME_DELTA[delta]).astype( np.int64 ) # Use pd.to_timedelta to safely cast integer values to timedeltas, # and add those to a Timestamp to safely produce a DatetimeIndex. This # ensures that we do not encounter integer overflow at any point in the # process without raising OutOfBoundsDatetime. > return (pd.to_timedelta(flat_num_dates_ns_int, "ns") + ref_date).values /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): > return self._arith_method(other, operator.add) /usr/lib/python3.10/site-packages/pandas/core/arraylike.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): if ( isinstance(other, Index) and is_object_dtype(other.dtype) and type(other) is not Index ): # We return NotImplemented for object-dtype index *subclasses* so they have # a chance to implement ops before we unwrap them. # See https://github.com/pandas-dev/pandas/issues/31109 return NotImplemented > return super()._arith_method(other, op) /usr/lib/python3.10/site-packages/pandas/core/indexes/base.py:6717: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): res_name = ops.get_op_result_name(self, other) lvalues = self._values rvalues = extract_array(other, extract_numpy=True, extract_range=True) rvalues = ops.maybe_prepare_scalar_for_op(rvalues, lvalues.shape) rvalues = ensure_wrapped_if_datetimelike(rvalues) with np.errstate(all="ignore"): > result = ops.arithmetic_op(lvalues, rvalues, op) /usr/lib/python3.10/site-packages/pandas/core/base.py:1295: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] right = Timestamp('2000-01-01 00:00:00'), op = def arithmetic_op(left: ArrayLike, right: Any, op): """ Evaluate an arithmetic operation `+`, `-`, `*`, `/`, `//`, `%`, `**`, ... Note: the caller is responsible for ensuring that numpy warnings are suppressed (with np.errstate(all="ignore")) if needed. Parameters ---------- left : np.ndarray or ExtensionArray right : object Cannot be a DataFrame or Index. Series is *not* excluded. op : {operator.add, operator.sub, ...} Or one of the reversed variants from roperator. Returns ------- ndarray or ExtensionArray Or a 2-tuple of these in the case of divmod or rdivmod. """ # NB: We assume that extract_array and ensure_wrapped_if_datetimelike # have already been called on `left` and `right`, # and `maybe_prepare_scalar_for_op` has already been called on `right` # We need to special-case datetime64/timedelta64 dtypes (e.g. because numpy # casts integer dtypes to timedelta64 when operating with timedelta64 - GH#22390) if ( should_extension_dispatch(left, right) or isinstance(right, (Timedelta, BaseOffset, Timestamp)) or right is NaT ): # Timedelta/Timestamp and other custom scalars are included in the check # because numexpr will fail on it, see GH#31457 > res_values = op(left, right) /usr/lib/python3.10/site-packages/pandas/core/ops/array_ops.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): other_dtype = getattr(other, "dtype", None) # scalar others if other is NaT: result = self._add_nat() elif isinstance(other, (Tick, timedelta, np.timedelta64)): result = self._add_timedeltalike_scalar(other) elif isinstance(other, BaseOffset): # specifically _not_ a Tick result = self._add_offset(other) elif isinstance(other, (datetime, np.datetime64)): > result = self._add_datetimelike_scalar(other) /usr/lib/python3.10/site-packages/pandas/core/arrays/datetimelike.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') def _add_datetimelike_scalar(self, other) -> DatetimeArray: # adding a timedeltaindex to a datetimelike from pandas.core.arrays import DatetimeArray assert other is not NaT other = Timestamp(other) if other is NaT: # In this case we specifically interpret NaT as a datetime, not # the timedelta interpretation we would get by returning self + NaT result = self.asi8.view("m8[ms]") + NaT.to_datetime64() return DatetimeArray(result) i8 = self.asi8 > result = checked_add_with_arr(i8, other.value, arr_mask=self._isnan) /usr/lib/python3.10/site-packages/pandas/core/arrays/timedeltas.py:482: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ arr = array([ 0, 9223372036854775807]), b = 946684800000000000 arr_mask = array([False, False]), b_mask = None def checked_add_with_arr( arr: np.ndarray, b, arr_mask: npt.NDArray[np.bool_] | None = None, b_mask: npt.NDArray[np.bool_] | None = None, ) -> np.ndarray: """ Perform array addition that checks for underflow and overflow. Performs the addition of an int64 array and an int64 integer (or array) but checks that they do not result in overflow first. For elements that are indicated to be NaN, whether or not there is overflow for that element is automatically ignored. Parameters ---------- arr : array addend. b : array or scalar addend. arr_mask : np.ndarray[bool] or None, default None array indicating which elements to exclude from checking b_mask : np.ndarray[bool] or None, default None array or scalar indicating which element(s) to exclude from checking Returns ------- sum : An array for elements x + b for each element x in arr if b is a scalar or an array for elements x + y for each element pair (x, y) in (arr, b). Raises ------ OverflowError if any x + y exceeds the maximum or minimum int64 value. """ # For performance reasons, we broadcast 'b' to the new array 'b2' # so that it has the same size as 'arr'. b2 = np.broadcast_to(b, arr.shape) if b_mask is not None: # We do the same broadcasting for b_mask as well. b2_mask = np.broadcast_to(b_mask, arr.shape) else: b2_mask = None # For elements that are NaN, regardless of their value, we should # ignore whether they overflow or not when doing the checked add. if arr_mask is not None and b2_mask is not None: not_nan = np.logical_not(arr_mask | b2_mask) elif arr_mask is not None: not_nan = np.logical_not(arr_mask) elif b_mask is not None: # Argument 1 to "__call__" of "_UFunc_Nin1_Nout1" has incompatible type # "Optional[ndarray[Any, dtype[bool_]]]"; expected # "Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[An # y]]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, # int, float, complex, str, bytes]]]" [arg-type] not_nan = np.logical_not(b2_mask) # type: ignore[arg-type] else: not_nan = np.empty(arr.shape, dtype=bool) not_nan.fill(True) # gh-14324: For each element in 'arr' and its corresponding element # in 'b2', we check the sign of the element in 'b2'. If it is positive, # we then check whether its sum with the element in 'arr' exceeds # np.iinfo(np.int64).max. If so, we have an overflow error. If it # it is negative, we then check whether its sum with the element in # 'arr' exceeds np.iinfo(np.int64).min. If so, we have an overflow # error as well. i8max = lib.i8max i8min = iNaT mask1 = b2 > 0 mask2 = b2 < 0 if not mask1.any(): to_raise = ((i8min - b2 > arr) & not_nan).any() elif not mask2.any(): to_raise = ((i8max - b2 < arr) & not_nan).any() else: to_raise = ((i8max - b2[mask1] < arr[mask1]) & not_nan[mask1]).any() or ( (i8min - b2[mask2] > arr[mask2]) & not_nan[mask2] ).any() if to_raise: > raise OverflowError("Overflow in int64 addition") E OverflowError: Overflow in int64 addition /usr/lib/python3.10/site-packages/pandas/core/algorithms.py:1114: OverflowError During handling of the above exception, another exception occurred: times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). > dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E ValueError: year 294277 is out of range pandas/_libs/tslibs/timestamps.pyx:1374: ValueError During handling of the above exception, another exception occurred: data = LazilyIndexedArray(array=, key=BasicIndexer((slice(None, None, None),))) units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: > result = decode_cf_datetime(example_value, units, calendar, use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) except (KeyError, OutOfBoundsDatetime, OutOfBoundsTimedelta, OverflowError): dates = _decode_datetime_with_cftime( flat_num_dates.astype(float), units, calendar ) if ( dates[np.nanargmin(num_dates)].year < 1678 or dates[np.nanargmax(num_dates)].year >= 2262 ): if _is_standard_calendar(calendar): warnings.warn( "Unable to decode time axis into full " "numpy.datetime64 objects, continuing using " "cftime.datetime objects instead, reason: dates out " "of range", SerializationWarning, stacklevel=3, ) else: if _is_standard_calendar(calendar): > dates = cftime_to_nptime(dates) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) except ValueError as e: if raise_on_invalid: > raise ValueError( "Cannot convert date {} to a date in the " "standard calendar. Reason: {}.".format(t, e) ) E ValueError: Cannot convert date 294277-01-09 04:00:54 to a date in the standard calendar. Reason: year 294277 is out of range. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:453: ValueError During handling of the above exception, another exception occurred: variables = Frozen({'t': [3 values with dtype=float64] Attributes: _FillValue: nan units: ...e ()> [1 values with dtype=int64] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: > new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:551: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 't' var = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian concat_characters = True, mask_and_scale = True, decode_times = True decode_endianness = True, stack_char_dim = False, use_cftime = None decode_timedelta = True def decode_cf_variable( name: Hashable, var: Variable, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_endianness: bool = True, stack_char_dim: bool = True, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> Variable: """ Decodes a variable which may hold CF encoded information. This includes variables that have been masked and scaled, which hold CF style time variables (this is almost always the case if the dataset has been serialized) and which have strings encoded as character arrays. Parameters ---------- name : str Name of the variable. Used for better error messages. var : Variable A variable holding potentially CF encoded information. concat_characters : bool Should character arrays be concatenated to strings, for example: ["h", "e", "l", "l", "o"] -> "hello" mask_and_scale : bool Lazily scale (using scale_factor and add_offset) and mask (using _FillValue). If the _Unsigned attribute is present treat integer arrays as unsigned. decode_times : bool Decode cf times ("hours since 2000-01-01") to np.datetime64. decode_endianness : bool Decode arrays from non-native to native endianness. stack_char_dim : bool Whether to stack characters into bytes along the last dimension of this array. Passed as an argument because we need to look at the full dataset to figure out if this is appropriate. use_cftime : bool, optional Only relevant if encoded dates come from a standard calendar (e.g. "gregorian", "proleptic_gregorian", "standard", or not specified). If None (default), attempt to decode times to ``np.datetime64[ns]`` objects; if this is not possible, decode times to ``cftime.datetime`` objects. If True, always decode times to ``cftime.datetime`` objects, regardless of whether or not they can be represented using ``np.datetime64[ns]`` objects. If False, always decode times to ``np.datetime64[ns]`` objects; if this is not possible raise an error. Returns ------- out : Variable A variable holding the decoded equivalent of var. """ # Ensure datetime-like Variables are passed through unmodified (GH 6453) if _contains_datetime_like_objects(var): return var original_dtype = var.dtype if decode_timedelta is None: decode_timedelta = decode_times if concat_characters: if stack_char_dim: var = strings.CharacterArrayCoder().decode(var, name=name) var = strings.EncodedStringCoder().decode(var) if mask_and_scale: for coder in [ variables.UnsignedIntegerCoder(), variables.CFMaskCoder(), variables.CFScaleOffsetCoder(), ]: var = coder.decode(var, name=name) if decode_timedelta: var = times.CFTimedeltaCoder().decode(var, name=name) if decode_times: > var = times.CFDatetimeCoder(use_cftime=use_cftime).decode(var, name=name) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:397: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = variable = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian name = 't' def decode(self, variable: Variable, name: T_Name = None) -> Variable: units = variable.attrs.get("units", None) if isinstance(units, str) and "since" in units: dims, data, attrs, encoding = unpack_for_decoding(variable) units = pop_to(attrs, encoding, "units") calendar = pop_to(attrs, encoding, "calendar") > dtype = _decode_cf_datetime_dtype(data, units, calendar, self.use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = LazilyIndexedArray(array=, key=BasicIndexer((slice(None, None, None),))) units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: result = decode_cf_datetime(example_value, units, calendar, use_cftime) except Exception: calendar_msg = ( "the default calendar" if calendar is None else f"calendar {calendar!r}" ) msg = ( f"unable to decode time units {units!r} with {calendar_msg!r}. Try " "opening your dataset with decode_times=False or installing cftime " "if it is not installed." ) > raise ValueError(msg) E ValueError: unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:194: ValueError During handling of the above exception, another exception occurred: self = @arm_xfail def test_roundtrip_numpy_datetime_data(self) -> None: times = pd.to_datetime(["2000-01-01", "2000-01-02", "NaT"]) expected = Dataset({"t": ("t", times), "t0": times[0]}) kwargs = {"encoding": {"t0": {"units": "days since 1950-01-01"}}} > with self.roundtrip(expected, save_kwargs=kwargs) as actual: /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:1719: in roundtrip with TestNetCDF4Data.roundtrip( /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:311: in roundtrip with self.open(path, **open_kwargs) as ds: /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:337: in open with open_dataset(path, engine=self.engine, **kwargs) as ds: /build/python-xarray/src/xarray-2023.01.0/xarray/backends/api.py:541: in open_dataset backend_ds = backend.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/netCDF4_.py:592: in open_dataset ds = store_entrypoint.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/store.py:35: in open_dataset vars, attrs, coord_names = conventions.decode_cf_variables( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ variables = Frozen({'t': [3 values with dtype=float64] Attributes: _FillValue: nan units: ...e ()> [1 values with dtype=int64] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) except Exception as e: > raise type(e)(f"Failed to decode variable {k!r}: {e}") E ValueError: Failed to decode variable 't': unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:562: ValueError ___________ TestScipyInMemoryData.test_roundtrip_numpy_datetime_data ___________ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: > dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ flat_num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian' def _decode_datetime_with_pandas( flat_num_dates: np.ndarray, units: str, calendar: str ) -> np.ndarray: if not _is_standard_calendar(calendar): raise OutOfBoundsDatetime( "Cannot decode times from a non-standard calendar, {!r}, using " "pandas.".format(calendar) ) delta, ref_date = _unpack_netcdf_time_units(units) delta = _netcdf_to_numpy_timeunit(delta) try: ref_date = pd.Timestamp(ref_date) except ValueError: # ValueError is raised by pd.Timestamp for non-ISO timestamp # strings, in which case we fall back to using cftime raise OutOfBoundsDatetime with warnings.catch_warnings(): warnings.filterwarnings("ignore", "invalid value encountered", RuntimeWarning) if flat_num_dates.size > 0: # avoid size 0 datetimes GH1329 pd.to_timedelta(flat_num_dates.min(), delta) + ref_date pd.to_timedelta(flat_num_dates.max(), delta) + ref_date # To avoid integer overflow when converting to nanosecond units for integer # dtypes smaller than np.int64 cast all integer and unsigned integer dtype # arrays to np.int64 (GH 2002, GH 6589). Note this is safe even in the case # of np.uint64 values, because any np.uint64 value that would lead to # overflow when converting to np.int64 would not be representable with a # timedelta64 value, and therefore would raise an error in the lines above. if flat_num_dates.dtype.kind in "iu": flat_num_dates = flat_num_dates.astype(np.int64) # Cast input ordinals to integers of nanoseconds because pd.to_timedelta # works much faster when dealing with integers (GH 1399). flat_num_dates_ns_int = (flat_num_dates * _NS_PER_TIME_DELTA[delta]).astype( np.int64 ) # Use pd.to_timedelta to safely cast integer values to timedeltas, # and add those to a Timestamp to safely produce a DatetimeIndex. This # ensures that we do not encounter integer overflow at any point in the # process without raising OutOfBoundsDatetime. > return (pd.to_timedelta(flat_num_dates_ns_int, "ns") + ref_date).values /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): > return self._arith_method(other, operator.add) /usr/lib/python3.10/site-packages/pandas/core/arraylike.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): if ( isinstance(other, Index) and is_object_dtype(other.dtype) and type(other) is not Index ): # We return NotImplemented for object-dtype index *subclasses* so they have # a chance to implement ops before we unwrap them. # See https://github.com/pandas-dev/pandas/issues/31109 return NotImplemented > return super()._arith_method(other, op) /usr/lib/python3.10/site-packages/pandas/core/indexes/base.py:6717: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): res_name = ops.get_op_result_name(self, other) lvalues = self._values rvalues = extract_array(other, extract_numpy=True, extract_range=True) rvalues = ops.maybe_prepare_scalar_for_op(rvalues, lvalues.shape) rvalues = ensure_wrapped_if_datetimelike(rvalues) with np.errstate(all="ignore"): > result = ops.arithmetic_op(lvalues, rvalues, op) /usr/lib/python3.10/site-packages/pandas/core/base.py:1295: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] right = Timestamp('2000-01-01 00:00:00'), op = def arithmetic_op(left: ArrayLike, right: Any, op): """ Evaluate an arithmetic operation `+`, `-`, `*`, `/`, `//`, `%`, `**`, ... Note: the caller is responsible for ensuring that numpy warnings are suppressed (with np.errstate(all="ignore")) if needed. Parameters ---------- left : np.ndarray or ExtensionArray right : object Cannot be a DataFrame or Index. Series is *not* excluded. op : {operator.add, operator.sub, ...} Or one of the reversed variants from roperator. Returns ------- ndarray or ExtensionArray Or a 2-tuple of these in the case of divmod or rdivmod. """ # NB: We assume that extract_array and ensure_wrapped_if_datetimelike # have already been called on `left` and `right`, # and `maybe_prepare_scalar_for_op` has already been called on `right` # We need to special-case datetime64/timedelta64 dtypes (e.g. because numpy # casts integer dtypes to timedelta64 when operating with timedelta64 - GH#22390) if ( should_extension_dispatch(left, right) or isinstance(right, (Timedelta, BaseOffset, Timestamp)) or right is NaT ): # Timedelta/Timestamp and other custom scalars are included in the check # because numexpr will fail on it, see GH#31457 > res_values = op(left, right) /usr/lib/python3.10/site-packages/pandas/core/ops/array_ops.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): other_dtype = getattr(other, "dtype", None) # scalar others if other is NaT: result = self._add_nat() elif isinstance(other, (Tick, timedelta, np.timedelta64)): result = self._add_timedeltalike_scalar(other) elif isinstance(other, BaseOffset): # specifically _not_ a Tick result = self._add_offset(other) elif isinstance(other, (datetime, np.datetime64)): > result = self._add_datetimelike_scalar(other) /usr/lib/python3.10/site-packages/pandas/core/arrays/datetimelike.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') def _add_datetimelike_scalar(self, other) -> DatetimeArray: # adding a timedeltaindex to a datetimelike from pandas.core.arrays import DatetimeArray assert other is not NaT other = Timestamp(other) if other is NaT: # In this case we specifically interpret NaT as a datetime, not # the timedelta interpretation we would get by returning self + NaT result = self.asi8.view("m8[ms]") + NaT.to_datetime64() return DatetimeArray(result) i8 = self.asi8 > result = checked_add_with_arr(i8, other.value, arr_mask=self._isnan) /usr/lib/python3.10/site-packages/pandas/core/arrays/timedeltas.py:482: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ arr = array([ 0, 9223372036854775807]), b = 946684800000000000 arr_mask = array([False, False]), b_mask = None def checked_add_with_arr( arr: np.ndarray, b, arr_mask: npt.NDArray[np.bool_] | None = None, b_mask: npt.NDArray[np.bool_] | None = None, ) -> np.ndarray: """ Perform array addition that checks for underflow and overflow. Performs the addition of an int64 array and an int64 integer (or array) but checks that they do not result in overflow first. For elements that are indicated to be NaN, whether or not there is overflow for that element is automatically ignored. Parameters ---------- arr : array addend. b : array or scalar addend. arr_mask : np.ndarray[bool] or None, default None array indicating which elements to exclude from checking b_mask : np.ndarray[bool] or None, default None array or scalar indicating which element(s) to exclude from checking Returns ------- sum : An array for elements x + b for each element x in arr if b is a scalar or an array for elements x + y for each element pair (x, y) in (arr, b). Raises ------ OverflowError if any x + y exceeds the maximum or minimum int64 value. """ # For performance reasons, we broadcast 'b' to the new array 'b2' # so that it has the same size as 'arr'. b2 = np.broadcast_to(b, arr.shape) if b_mask is not None: # We do the same broadcasting for b_mask as well. b2_mask = np.broadcast_to(b_mask, arr.shape) else: b2_mask = None # For elements that are NaN, regardless of their value, we should # ignore whether they overflow or not when doing the checked add. if arr_mask is not None and b2_mask is not None: not_nan = np.logical_not(arr_mask | b2_mask) elif arr_mask is not None: not_nan = np.logical_not(arr_mask) elif b_mask is not None: # Argument 1 to "__call__" of "_UFunc_Nin1_Nout1" has incompatible type # "Optional[ndarray[Any, dtype[bool_]]]"; expected # "Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[An # y]]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, # int, float, complex, str, bytes]]]" [arg-type] not_nan = np.logical_not(b2_mask) # type: ignore[arg-type] else: not_nan = np.empty(arr.shape, dtype=bool) not_nan.fill(True) # gh-14324: For each element in 'arr' and its corresponding element # in 'b2', we check the sign of the element in 'b2'. If it is positive, # we then check whether its sum with the element in 'arr' exceeds # np.iinfo(np.int64).max. If so, we have an overflow error. If it # it is negative, we then check whether its sum with the element in # 'arr' exceeds np.iinfo(np.int64).min. If so, we have an overflow # error as well. i8max = lib.i8max i8min = iNaT mask1 = b2 > 0 mask2 = b2 < 0 if not mask1.any(): to_raise = ((i8min - b2 > arr) & not_nan).any() elif not mask2.any(): to_raise = ((i8max - b2 < arr) & not_nan).any() else: to_raise = ((i8max - b2[mask1] < arr[mask1]) & not_nan[mask1]).any() or ( (i8min - b2[mask2] > arr[mask2]) & not_nan[mask2] ).any() if to_raise: > raise OverflowError("Overflow in int64 addition") E OverflowError: Overflow in int64 addition /usr/lib/python3.10/site-packages/pandas/core/algorithms.py:1114: OverflowError During handling of the above exception, another exception occurred: times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). > dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E ValueError: year 294277 is out of range pandas/_libs/tslibs/timestamps.pyx:1374: ValueError During handling of the above exception, another exception occurred: data = units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: > result = decode_cf_datetime(example_value, units, calendar, use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) except (KeyError, OutOfBoundsDatetime, OutOfBoundsTimedelta, OverflowError): dates = _decode_datetime_with_cftime( flat_num_dates.astype(float), units, calendar ) if ( dates[np.nanargmin(num_dates)].year < 1678 or dates[np.nanargmax(num_dates)].year >= 2262 ): if _is_standard_calendar(calendar): warnings.warn( "Unable to decode time axis into full " "numpy.datetime64 objects, continuing using " "cftime.datetime objects instead, reason: dates out " "of range", SerializationWarning, stacklevel=3, ) else: if _is_standard_calendar(calendar): > dates = cftime_to_nptime(dates) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) except ValueError as e: if raise_on_invalid: > raise ValueError( "Cannot convert date {} to a date in the " "standard calendar. Reason: {}.".format(t, e) ) E ValueError: Cannot convert date 294277-01-09 04:00:54 to a date in the standard calendar. Reason: year 294277 is out of range. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:453: ValueError During handling of the above exception, another exception occurred: variables = Frozen({'t': [3 values with dtype=float64] Attributes: units: days since 2000-01-01...e ()> [1 values with dtype=int32] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: > new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:551: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 't' var = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian concat_characters = True, mask_and_scale = True, decode_times = True decode_endianness = True, stack_char_dim = False, use_cftime = None decode_timedelta = True def decode_cf_variable( name: Hashable, var: Variable, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_endianness: bool = True, stack_char_dim: bool = True, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> Variable: """ Decodes a variable which may hold CF encoded information. This includes variables that have been masked and scaled, which hold CF style time variables (this is almost always the case if the dataset has been serialized) and which have strings encoded as character arrays. Parameters ---------- name : str Name of the variable. Used for better error messages. var : Variable A variable holding potentially CF encoded information. concat_characters : bool Should character arrays be concatenated to strings, for example: ["h", "e", "l", "l", "o"] -> "hello" mask_and_scale : bool Lazily scale (using scale_factor and add_offset) and mask (using _FillValue). If the _Unsigned attribute is present treat integer arrays as unsigned. decode_times : bool Decode cf times ("hours since 2000-01-01") to np.datetime64. decode_endianness : bool Decode arrays from non-native to native endianness. stack_char_dim : bool Whether to stack characters into bytes along the last dimension of this array. Passed as an argument because we need to look at the full dataset to figure out if this is appropriate. use_cftime : bool, optional Only relevant if encoded dates come from a standard calendar (e.g. "gregorian", "proleptic_gregorian", "standard", or not specified). If None (default), attempt to decode times to ``np.datetime64[ns]`` objects; if this is not possible, decode times to ``cftime.datetime`` objects. If True, always decode times to ``cftime.datetime`` objects, regardless of whether or not they can be represented using ``np.datetime64[ns]`` objects. If False, always decode times to ``np.datetime64[ns]`` objects; if this is not possible raise an error. Returns ------- out : Variable A variable holding the decoded equivalent of var. """ # Ensure datetime-like Variables are passed through unmodified (GH 6453) if _contains_datetime_like_objects(var): return var original_dtype = var.dtype if decode_timedelta is None: decode_timedelta = decode_times if concat_characters: if stack_char_dim: var = strings.CharacterArrayCoder().decode(var, name=name) var = strings.EncodedStringCoder().decode(var) if mask_and_scale: for coder in [ variables.UnsignedIntegerCoder(), variables.CFMaskCoder(), variables.CFScaleOffsetCoder(), ]: var = coder.decode(var, name=name) if decode_timedelta: var = times.CFTimedeltaCoder().decode(var, name=name) if decode_times: > var = times.CFDatetimeCoder(use_cftime=use_cftime).decode(var, name=name) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:397: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = variable = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian name = 't' def decode(self, variable: Variable, name: T_Name = None) -> Variable: units = variable.attrs.get("units", None) if isinstance(units, str) and "since" in units: dims, data, attrs, encoding = unpack_for_decoding(variable) units = pop_to(attrs, encoding, "units") calendar = pop_to(attrs, encoding, "calendar") > dtype = _decode_cf_datetime_dtype(data, units, calendar, self.use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: result = decode_cf_datetime(example_value, units, calendar, use_cftime) except Exception: calendar_msg = ( "the default calendar" if calendar is None else f"calendar {calendar!r}" ) msg = ( f"unable to decode time units {units!r} with {calendar_msg!r}. Try " "opening your dataset with decode_times=False or installing cftime " "if it is not installed." ) > raise ValueError(msg) E ValueError: unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:194: ValueError During handling of the above exception, another exception occurred: self = @arm_xfail def test_roundtrip_numpy_datetime_data(self) -> None: times = pd.to_datetime(["2000-01-01", "2000-01-02", "NaT"]) expected = Dataset({"t": ("t", times), "t0": times[0]}) kwargs = {"encoding": {"t0": {"units": "days since 1950-01-01"}}} > with self.roundtrip(expected, save_kwargs=kwargs) as actual: /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:311: in roundtrip with self.open(path, **open_kwargs) as ds: /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:337: in open with open_dataset(path, engine=self.engine, **kwargs) as ds: /build/python-xarray/src/xarray-2023.01.0/xarray/backends/api.py:541: in open_dataset backend_ds = backend.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/scipy_.py:307: in open_dataset ds = store_entrypoint.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/store.py:35: in open_dataset vars, attrs, coord_names = conventions.decode_cf_variables( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ variables = Frozen({'t': [3 values with dtype=float64] Attributes: units: days since 2000-01-01...e ()> [1 values with dtype=int32] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) except Exception as e: > raise type(e)(f"Failed to decode variable {k!r}: {e}") E ValueError: Failed to decode variable 't': unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:562: ValueError ____________ TestScipyFileObject.test_roundtrip_numpy_datetime_data ____________ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: > dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ flat_num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian' def _decode_datetime_with_pandas( flat_num_dates: np.ndarray, units: str, calendar: str ) -> np.ndarray: if not _is_standard_calendar(calendar): raise OutOfBoundsDatetime( "Cannot decode times from a non-standard calendar, {!r}, using " "pandas.".format(calendar) ) delta, ref_date = _unpack_netcdf_time_units(units) delta = _netcdf_to_numpy_timeunit(delta) try: ref_date = pd.Timestamp(ref_date) except ValueError: # ValueError is raised by pd.Timestamp for non-ISO timestamp # strings, in which case we fall back to using cftime raise OutOfBoundsDatetime with warnings.catch_warnings(): warnings.filterwarnings("ignore", "invalid value encountered", RuntimeWarning) if flat_num_dates.size > 0: # avoid size 0 datetimes GH1329 pd.to_timedelta(flat_num_dates.min(), delta) + ref_date pd.to_timedelta(flat_num_dates.max(), delta) + ref_date # To avoid integer overflow when converting to nanosecond units for integer # dtypes smaller than np.int64 cast all integer and unsigned integer dtype # arrays to np.int64 (GH 2002, GH 6589). Note this is safe even in the case # of np.uint64 values, because any np.uint64 value that would lead to # overflow when converting to np.int64 would not be representable with a # timedelta64 value, and therefore would raise an error in the lines above. if flat_num_dates.dtype.kind in "iu": flat_num_dates = flat_num_dates.astype(np.int64) # Cast input ordinals to integers of nanoseconds because pd.to_timedelta # works much faster when dealing with integers (GH 1399). flat_num_dates_ns_int = (flat_num_dates * _NS_PER_TIME_DELTA[delta]).astype( np.int64 ) # Use pd.to_timedelta to safely cast integer values to timedeltas, # and add those to a Timestamp to safely produce a DatetimeIndex. This # ensures that we do not encounter integer overflow at any point in the # process without raising OutOfBoundsDatetime. > return (pd.to_timedelta(flat_num_dates_ns_int, "ns") + ref_date).values /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): > return self._arith_method(other, operator.add) /usr/lib/python3.10/site-packages/pandas/core/arraylike.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): if ( isinstance(other, Index) and is_object_dtype(other.dtype) and type(other) is not Index ): # We return NotImplemented for object-dtype index *subclasses* so they have # a chance to implement ops before we unwrap them. # See https://github.com/pandas-dev/pandas/issues/31109 return NotImplemented > return super()._arith_method(other, op) /usr/lib/python3.10/site-packages/pandas/core/indexes/base.py:6717: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): res_name = ops.get_op_result_name(self, other) lvalues = self._values rvalues = extract_array(other, extract_numpy=True, extract_range=True) rvalues = ops.maybe_prepare_scalar_for_op(rvalues, lvalues.shape) rvalues = ensure_wrapped_if_datetimelike(rvalues) with np.errstate(all="ignore"): > result = ops.arithmetic_op(lvalues, rvalues, op) /usr/lib/python3.10/site-packages/pandas/core/base.py:1295: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] right = Timestamp('2000-01-01 00:00:00'), op = def arithmetic_op(left: ArrayLike, right: Any, op): """ Evaluate an arithmetic operation `+`, `-`, `*`, `/`, `//`, `%`, `**`, ... Note: the caller is responsible for ensuring that numpy warnings are suppressed (with np.errstate(all="ignore")) if needed. Parameters ---------- left : np.ndarray or ExtensionArray right : object Cannot be a DataFrame or Index. Series is *not* excluded. op : {operator.add, operator.sub, ...} Or one of the reversed variants from roperator. Returns ------- ndarray or ExtensionArray Or a 2-tuple of these in the case of divmod or rdivmod. """ # NB: We assume that extract_array and ensure_wrapped_if_datetimelike # have already been called on `left` and `right`, # and `maybe_prepare_scalar_for_op` has already been called on `right` # We need to special-case datetime64/timedelta64 dtypes (e.g. because numpy # casts integer dtypes to timedelta64 when operating with timedelta64 - GH#22390) if ( should_extension_dispatch(left, right) or isinstance(right, (Timedelta, BaseOffset, Timestamp)) or right is NaT ): # Timedelta/Timestamp and other custom scalars are included in the check # because numexpr will fail on it, see GH#31457 > res_values = op(left, right) /usr/lib/python3.10/site-packages/pandas/core/ops/array_ops.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): other_dtype = getattr(other, "dtype", None) # scalar others if other is NaT: result = self._add_nat() elif isinstance(other, (Tick, timedelta, np.timedelta64)): result = self._add_timedeltalike_scalar(other) elif isinstance(other, BaseOffset): # specifically _not_ a Tick result = self._add_offset(other) elif isinstance(other, (datetime, np.datetime64)): > result = self._add_datetimelike_scalar(other) /usr/lib/python3.10/site-packages/pandas/core/arrays/datetimelike.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') def _add_datetimelike_scalar(self, other) -> DatetimeArray: # adding a timedeltaindex to a datetimelike from pandas.core.arrays import DatetimeArray assert other is not NaT other = Timestamp(other) if other is NaT: # In this case we specifically interpret NaT as a datetime, not # the timedelta interpretation we would get by returning self + NaT result = self.asi8.view("m8[ms]") + NaT.to_datetime64() return DatetimeArray(result) i8 = self.asi8 > result = checked_add_with_arr(i8, other.value, arr_mask=self._isnan) /usr/lib/python3.10/site-packages/pandas/core/arrays/timedeltas.py:482: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ arr = array([ 0, 9223372036854775807]), b = 946684800000000000 arr_mask = array([False, False]), b_mask = None def checked_add_with_arr( arr: np.ndarray, b, arr_mask: npt.NDArray[np.bool_] | None = None, b_mask: npt.NDArray[np.bool_] | None = None, ) -> np.ndarray: """ Perform array addition that checks for underflow and overflow. Performs the addition of an int64 array and an int64 integer (or array) but checks that they do not result in overflow first. For elements that are indicated to be NaN, whether or not there is overflow for that element is automatically ignored. Parameters ---------- arr : array addend. b : array or scalar addend. arr_mask : np.ndarray[bool] or None, default None array indicating which elements to exclude from checking b_mask : np.ndarray[bool] or None, default None array or scalar indicating which element(s) to exclude from checking Returns ------- sum : An array for elements x + b for each element x in arr if b is a scalar or an array for elements x + y for each element pair (x, y) in (arr, b). Raises ------ OverflowError if any x + y exceeds the maximum or minimum int64 value. """ # For performance reasons, we broadcast 'b' to the new array 'b2' # so that it has the same size as 'arr'. b2 = np.broadcast_to(b, arr.shape) if b_mask is not None: # We do the same broadcasting for b_mask as well. b2_mask = np.broadcast_to(b_mask, arr.shape) else: b2_mask = None # For elements that are NaN, regardless of their value, we should # ignore whether they overflow or not when doing the checked add. if arr_mask is not None and b2_mask is not None: not_nan = np.logical_not(arr_mask | b2_mask) elif arr_mask is not None: not_nan = np.logical_not(arr_mask) elif b_mask is not None: # Argument 1 to "__call__" of "_UFunc_Nin1_Nout1" has incompatible type # "Optional[ndarray[Any, dtype[bool_]]]"; expected # "Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[An # y]]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, # int, float, complex, str, bytes]]]" [arg-type] not_nan = np.logical_not(b2_mask) # type: ignore[arg-type] else: not_nan = np.empty(arr.shape, dtype=bool) not_nan.fill(True) # gh-14324: For each element in 'arr' and its corresponding element # in 'b2', we check the sign of the element in 'b2'. If it is positive, # we then check whether its sum with the element in 'arr' exceeds # np.iinfo(np.int64).max. If so, we have an overflow error. If it # it is negative, we then check whether its sum with the element in # 'arr' exceeds np.iinfo(np.int64).min. If so, we have an overflow # error as well. i8max = lib.i8max i8min = iNaT mask1 = b2 > 0 mask2 = b2 < 0 if not mask1.any(): to_raise = ((i8min - b2 > arr) & not_nan).any() elif not mask2.any(): to_raise = ((i8max - b2 < arr) & not_nan).any() else: to_raise = ((i8max - b2[mask1] < arr[mask1]) & not_nan[mask1]).any() or ( (i8min - b2[mask2] > arr[mask2]) & not_nan[mask2] ).any() if to_raise: > raise OverflowError("Overflow in int64 addition") E OverflowError: Overflow in int64 addition /usr/lib/python3.10/site-packages/pandas/core/algorithms.py:1114: OverflowError During handling of the above exception, another exception occurred: times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). > dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E ValueError: year 294277 is out of range pandas/_libs/tslibs/timestamps.pyx:1374: ValueError During handling of the above exception, another exception occurred: data = units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: > result = decode_cf_datetime(example_value, units, calendar, use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) except (KeyError, OutOfBoundsDatetime, OutOfBoundsTimedelta, OverflowError): dates = _decode_datetime_with_cftime( flat_num_dates.astype(float), units, calendar ) if ( dates[np.nanargmin(num_dates)].year < 1678 or dates[np.nanargmax(num_dates)].year >= 2262 ): if _is_standard_calendar(calendar): warnings.warn( "Unable to decode time axis into full " "numpy.datetime64 objects, continuing using " "cftime.datetime objects instead, reason: dates out " "of range", SerializationWarning, stacklevel=3, ) else: if _is_standard_calendar(calendar): > dates = cftime_to_nptime(dates) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) except ValueError as e: if raise_on_invalid: > raise ValueError( "Cannot convert date {} to a date in the " "standard calendar. Reason: {}.".format(t, e) ) E ValueError: Cannot convert date 294277-01-09 04:00:54 to a date in the standard calendar. Reason: year 294277 is out of range. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:453: ValueError During handling of the above exception, another exception occurred: variables = Frozen({'t': [3 values with dtype=float64] Attributes: units: days since 2000-01-01...e ()> [1 values with dtype=int32] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: > new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:551: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 't' var = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian concat_characters = True, mask_and_scale = True, decode_times = True decode_endianness = True, stack_char_dim = False, use_cftime = None decode_timedelta = True def decode_cf_variable( name: Hashable, var: Variable, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_endianness: bool = True, stack_char_dim: bool = True, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> Variable: """ Decodes a variable which may hold CF encoded information. This includes variables that have been masked and scaled, which hold CF style time variables (this is almost always the case if the dataset has been serialized) and which have strings encoded as character arrays. Parameters ---------- name : str Name of the variable. Used for better error messages. var : Variable A variable holding potentially CF encoded information. concat_characters : bool Should character arrays be concatenated to strings, for example: ["h", "e", "l", "l", "o"] -> "hello" mask_and_scale : bool Lazily scale (using scale_factor and add_offset) and mask (using _FillValue). If the _Unsigned attribute is present treat integer arrays as unsigned. decode_times : bool Decode cf times ("hours since 2000-01-01") to np.datetime64. decode_endianness : bool Decode arrays from non-native to native endianness. stack_char_dim : bool Whether to stack characters into bytes along the last dimension of this array. Passed as an argument because we need to look at the full dataset to figure out if this is appropriate. use_cftime : bool, optional Only relevant if encoded dates come from a standard calendar (e.g. "gregorian", "proleptic_gregorian", "standard", or not specified). If None (default), attempt to decode times to ``np.datetime64[ns]`` objects; if this is not possible, decode times to ``cftime.datetime`` objects. If True, always decode times to ``cftime.datetime`` objects, regardless of whether or not they can be represented using ``np.datetime64[ns]`` objects. If False, always decode times to ``np.datetime64[ns]`` objects; if this is not possible raise an error. Returns ------- out : Variable A variable holding the decoded equivalent of var. """ # Ensure datetime-like Variables are passed through unmodified (GH 6453) if _contains_datetime_like_objects(var): return var original_dtype = var.dtype if decode_timedelta is None: decode_timedelta = decode_times if concat_characters: if stack_char_dim: var = strings.CharacterArrayCoder().decode(var, name=name) var = strings.EncodedStringCoder().decode(var) if mask_and_scale: for coder in [ variables.UnsignedIntegerCoder(), variables.CFMaskCoder(), variables.CFScaleOffsetCoder(), ]: var = coder.decode(var, name=name) if decode_timedelta: var = times.CFTimedeltaCoder().decode(var, name=name) if decode_times: > var = times.CFDatetimeCoder(use_cftime=use_cftime).decode(var, name=name) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:397: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = variable = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian name = 't' def decode(self, variable: Variable, name: T_Name = None) -> Variable: units = variable.attrs.get("units", None) if isinstance(units, str) and "since" in units: dims, data, attrs, encoding = unpack_for_decoding(variable) units = pop_to(attrs, encoding, "units") calendar = pop_to(attrs, encoding, "calendar") > dtype = _decode_cf_datetime_dtype(data, units, calendar, self.use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: result = decode_cf_datetime(example_value, units, calendar, use_cftime) except Exception: calendar_msg = ( "the default calendar" if calendar is None else f"calendar {calendar!r}" ) msg = ( f"unable to decode time units {units!r} with {calendar_msg!r}. Try " "opening your dataset with decode_times=False or installing cftime " "if it is not installed." ) > raise ValueError(msg) E ValueError: unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:194: ValueError During handling of the above exception, another exception occurred: self = @arm_xfail def test_roundtrip_numpy_datetime_data(self) -> None: times = pd.to_datetime(["2000-01-01", "2000-01-02", "NaT"]) expected = Dataset({"t": ("t", times), "t0": times[0]}) kwargs = {"encoding": {"t0": {"units": "days since 1950-01-01"}}} > with self.roundtrip(expected, save_kwargs=kwargs) as actual: /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:2716: in roundtrip with self.open(f, **open_kwargs) as ds: /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:337: in open with open_dataset(path, engine=self.engine, **kwargs) as ds: /build/python-xarray/src/xarray-2023.01.0/xarray/backends/api.py:541: in open_dataset backend_ds = backend.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/scipy_.py:307: in open_dataset ds = store_entrypoint.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/store.py:35: in open_dataset vars, attrs, coord_names = conventions.decode_cf_variables( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ variables = Frozen({'t': [3 values with dtype=float64] Attributes: units: days since 2000-01-01...e ()> [1 values with dtype=int32] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) except Exception as e: > raise type(e)(f"Failed to decode variable {k!r}: {e}") E ValueError: Failed to decode variable 't': unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:562: ValueError _____________ TestScipyFilePath.test_roundtrip_numpy_datetime_data _____________ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: > dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ flat_num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian' def _decode_datetime_with_pandas( flat_num_dates: np.ndarray, units: str, calendar: str ) -> np.ndarray: if not _is_standard_calendar(calendar): raise OutOfBoundsDatetime( "Cannot decode times from a non-standard calendar, {!r}, using " "pandas.".format(calendar) ) delta, ref_date = _unpack_netcdf_time_units(units) delta = _netcdf_to_numpy_timeunit(delta) try: ref_date = pd.Timestamp(ref_date) except ValueError: # ValueError is raised by pd.Timestamp for non-ISO timestamp # strings, in which case we fall back to using cftime raise OutOfBoundsDatetime with warnings.catch_warnings(): warnings.filterwarnings("ignore", "invalid value encountered", RuntimeWarning) if flat_num_dates.size > 0: # avoid size 0 datetimes GH1329 pd.to_timedelta(flat_num_dates.min(), delta) + ref_date pd.to_timedelta(flat_num_dates.max(), delta) + ref_date # To avoid integer overflow when converting to nanosecond units for integer # dtypes smaller than np.int64 cast all integer and unsigned integer dtype # arrays to np.int64 (GH 2002, GH 6589). Note this is safe even in the case # of np.uint64 values, because any np.uint64 value that would lead to # overflow when converting to np.int64 would not be representable with a # timedelta64 value, and therefore would raise an error in the lines above. if flat_num_dates.dtype.kind in "iu": flat_num_dates = flat_num_dates.astype(np.int64) # Cast input ordinals to integers of nanoseconds because pd.to_timedelta # works much faster when dealing with integers (GH 1399). flat_num_dates_ns_int = (flat_num_dates * _NS_PER_TIME_DELTA[delta]).astype( np.int64 ) # Use pd.to_timedelta to safely cast integer values to timedeltas, # and add those to a Timestamp to safely produce a DatetimeIndex. This # ensures that we do not encounter integer overflow at any point in the # process without raising OutOfBoundsDatetime. > return (pd.to_timedelta(flat_num_dates_ns_int, "ns") + ref_date).values /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): > return self._arith_method(other, operator.add) /usr/lib/python3.10/site-packages/pandas/core/arraylike.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): if ( isinstance(other, Index) and is_object_dtype(other.dtype) and type(other) is not Index ): # We return NotImplemented for object-dtype index *subclasses* so they have # a chance to implement ops before we unwrap them. # See https://github.com/pandas-dev/pandas/issues/31109 return NotImplemented > return super()._arith_method(other, op) /usr/lib/python3.10/site-packages/pandas/core/indexes/base.py:6717: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): res_name = ops.get_op_result_name(self, other) lvalues = self._values rvalues = extract_array(other, extract_numpy=True, extract_range=True) rvalues = ops.maybe_prepare_scalar_for_op(rvalues, lvalues.shape) rvalues = ensure_wrapped_if_datetimelike(rvalues) with np.errstate(all="ignore"): > result = ops.arithmetic_op(lvalues, rvalues, op) /usr/lib/python3.10/site-packages/pandas/core/base.py:1295: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] right = Timestamp('2000-01-01 00:00:00'), op = def arithmetic_op(left: ArrayLike, right: Any, op): """ Evaluate an arithmetic operation `+`, `-`, `*`, `/`, `//`, `%`, `**`, ... Note: the caller is responsible for ensuring that numpy warnings are suppressed (with np.errstate(all="ignore")) if needed. Parameters ---------- left : np.ndarray or ExtensionArray right : object Cannot be a DataFrame or Index. Series is *not* excluded. op : {operator.add, operator.sub, ...} Or one of the reversed variants from roperator. Returns ------- ndarray or ExtensionArray Or a 2-tuple of these in the case of divmod or rdivmod. """ # NB: We assume that extract_array and ensure_wrapped_if_datetimelike # have already been called on `left` and `right`, # and `maybe_prepare_scalar_for_op` has already been called on `right` # We need to special-case datetime64/timedelta64 dtypes (e.g. because numpy # casts integer dtypes to timedelta64 when operating with timedelta64 - GH#22390) if ( should_extension_dispatch(left, right) or isinstance(right, (Timedelta, BaseOffset, Timestamp)) or right is NaT ): # Timedelta/Timestamp and other custom scalars are included in the check # because numexpr will fail on it, see GH#31457 > res_values = op(left, right) /usr/lib/python3.10/site-packages/pandas/core/ops/array_ops.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): other_dtype = getattr(other, "dtype", None) # scalar others if other is NaT: result = self._add_nat() elif isinstance(other, (Tick, timedelta, np.timedelta64)): result = self._add_timedeltalike_scalar(other) elif isinstance(other, BaseOffset): # specifically _not_ a Tick result = self._add_offset(other) elif isinstance(other, (datetime, np.datetime64)): > result = self._add_datetimelike_scalar(other) /usr/lib/python3.10/site-packages/pandas/core/arrays/datetimelike.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') def _add_datetimelike_scalar(self, other) -> DatetimeArray: # adding a timedeltaindex to a datetimelike from pandas.core.arrays import DatetimeArray assert other is not NaT other = Timestamp(other) if other is NaT: # In this case we specifically interpret NaT as a datetime, not # the timedelta interpretation we would get by returning self + NaT result = self.asi8.view("m8[ms]") + NaT.to_datetime64() return DatetimeArray(result) i8 = self.asi8 > result = checked_add_with_arr(i8, other.value, arr_mask=self._isnan) /usr/lib/python3.10/site-packages/pandas/core/arrays/timedeltas.py:482: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ arr = array([ 0, 9223372036854775807]), b = 946684800000000000 arr_mask = array([False, False]), b_mask = None def checked_add_with_arr( arr: np.ndarray, b, arr_mask: npt.NDArray[np.bool_] | None = None, b_mask: npt.NDArray[np.bool_] | None = None, ) -> np.ndarray: """ Perform array addition that checks for underflow and overflow. Performs the addition of an int64 array and an int64 integer (or array) but checks that they do not result in overflow first. For elements that are indicated to be NaN, whether or not there is overflow for that element is automatically ignored. Parameters ---------- arr : array addend. b : array or scalar addend. arr_mask : np.ndarray[bool] or None, default None array indicating which elements to exclude from checking b_mask : np.ndarray[bool] or None, default None array or scalar indicating which element(s) to exclude from checking Returns ------- sum : An array for elements x + b for each element x in arr if b is a scalar or an array for elements x + y for each element pair (x, y) in (arr, b). Raises ------ OverflowError if any x + y exceeds the maximum or minimum int64 value. """ # For performance reasons, we broadcast 'b' to the new array 'b2' # so that it has the same size as 'arr'. b2 = np.broadcast_to(b, arr.shape) if b_mask is not None: # We do the same broadcasting for b_mask as well. b2_mask = np.broadcast_to(b_mask, arr.shape) else: b2_mask = None # For elements that are NaN, regardless of their value, we should # ignore whether they overflow or not when doing the checked add. if arr_mask is not None and b2_mask is not None: not_nan = np.logical_not(arr_mask | b2_mask) elif arr_mask is not None: not_nan = np.logical_not(arr_mask) elif b_mask is not None: # Argument 1 to "__call__" of "_UFunc_Nin1_Nout1" has incompatible type # "Optional[ndarray[Any, dtype[bool_]]]"; expected # "Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[An # y]]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, # int, float, complex, str, bytes]]]" [arg-type] not_nan = np.logical_not(b2_mask) # type: ignore[arg-type] else: not_nan = np.empty(arr.shape, dtype=bool) not_nan.fill(True) # gh-14324: For each element in 'arr' and its corresponding element # in 'b2', we check the sign of the element in 'b2'. If it is positive, # we then check whether its sum with the element in 'arr' exceeds # np.iinfo(np.int64).max. If so, we have an overflow error. If it # it is negative, we then check whether its sum with the element in # 'arr' exceeds np.iinfo(np.int64).min. If so, we have an overflow # error as well. i8max = lib.i8max i8min = iNaT mask1 = b2 > 0 mask2 = b2 < 0 if not mask1.any(): to_raise = ((i8min - b2 > arr) & not_nan).any() elif not mask2.any(): to_raise = ((i8max - b2 < arr) & not_nan).any() else: to_raise = ((i8max - b2[mask1] < arr[mask1]) & not_nan[mask1]).any() or ( (i8min - b2[mask2] > arr[mask2]) & not_nan[mask2] ).any() if to_raise: > raise OverflowError("Overflow in int64 addition") E OverflowError: Overflow in int64 addition /usr/lib/python3.10/site-packages/pandas/core/algorithms.py:1114: OverflowError During handling of the above exception, another exception occurred: times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). > dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E ValueError: year 294277 is out of range pandas/_libs/tslibs/timestamps.pyx:1374: ValueError During handling of the above exception, another exception occurred: data = units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: > result = decode_cf_datetime(example_value, units, calendar, use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) except (KeyError, OutOfBoundsDatetime, OutOfBoundsTimedelta, OverflowError): dates = _decode_datetime_with_cftime( flat_num_dates.astype(float), units, calendar ) if ( dates[np.nanargmin(num_dates)].year < 1678 or dates[np.nanargmax(num_dates)].year >= 2262 ): if _is_standard_calendar(calendar): warnings.warn( "Unable to decode time axis into full " "numpy.datetime64 objects, continuing using " "cftime.datetime objects instead, reason: dates out " "of range", SerializationWarning, stacklevel=3, ) else: if _is_standard_calendar(calendar): > dates = cftime_to_nptime(dates) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) except ValueError as e: if raise_on_invalid: > raise ValueError( "Cannot convert date {} to a date in the " "standard calendar. Reason: {}.".format(t, e) ) E ValueError: Cannot convert date 294277-01-09 04:00:54 to a date in the standard calendar. Reason: year 294277 is out of range. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:453: ValueError During handling of the above exception, another exception occurred: variables = Frozen({'t': [3 values with dtype=float64] Attributes: units: days since 2000-01-01...e ()> [1 values with dtype=int32] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: > new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:551: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 't' var = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian concat_characters = True, mask_and_scale = True, decode_times = True decode_endianness = True, stack_char_dim = False, use_cftime = None decode_timedelta = True def decode_cf_variable( name: Hashable, var: Variable, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_endianness: bool = True, stack_char_dim: bool = True, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> Variable: """ Decodes a variable which may hold CF encoded information. This includes variables that have been masked and scaled, which hold CF style time variables (this is almost always the case if the dataset has been serialized) and which have strings encoded as character arrays. Parameters ---------- name : str Name of the variable. Used for better error messages. var : Variable A variable holding potentially CF encoded information. concat_characters : bool Should character arrays be concatenated to strings, for example: ["h", "e", "l", "l", "o"] -> "hello" mask_and_scale : bool Lazily scale (using scale_factor and add_offset) and mask (using _FillValue). If the _Unsigned attribute is present treat integer arrays as unsigned. decode_times : bool Decode cf times ("hours since 2000-01-01") to np.datetime64. decode_endianness : bool Decode arrays from non-native to native endianness. stack_char_dim : bool Whether to stack characters into bytes along the last dimension of this array. Passed as an argument because we need to look at the full dataset to figure out if this is appropriate. use_cftime : bool, optional Only relevant if encoded dates come from a standard calendar (e.g. "gregorian", "proleptic_gregorian", "standard", or not specified). If None (default), attempt to decode times to ``np.datetime64[ns]`` objects; if this is not possible, decode times to ``cftime.datetime`` objects. If True, always decode times to ``cftime.datetime`` objects, regardless of whether or not they can be represented using ``np.datetime64[ns]`` objects. If False, always decode times to ``np.datetime64[ns]`` objects; if this is not possible raise an error. Returns ------- out : Variable A variable holding the decoded equivalent of var. """ # Ensure datetime-like Variables are passed through unmodified (GH 6453) if _contains_datetime_like_objects(var): return var original_dtype = var.dtype if decode_timedelta is None: decode_timedelta = decode_times if concat_characters: if stack_char_dim: var = strings.CharacterArrayCoder().decode(var, name=name) var = strings.EncodedStringCoder().decode(var) if mask_and_scale: for coder in [ variables.UnsignedIntegerCoder(), variables.CFMaskCoder(), variables.CFScaleOffsetCoder(), ]: var = coder.decode(var, name=name) if decode_timedelta: var = times.CFTimedeltaCoder().decode(var, name=name) if decode_times: > var = times.CFDatetimeCoder(use_cftime=use_cftime).decode(var, name=name) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:397: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = variable = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian name = 't' def decode(self, variable: Variable, name: T_Name = None) -> Variable: units = variable.attrs.get("units", None) if isinstance(units, str) and "since" in units: dims, data, attrs, encoding = unpack_for_decoding(variable) units = pop_to(attrs, encoding, "units") calendar = pop_to(attrs, encoding, "calendar") > dtype = _decode_cf_datetime_dtype(data, units, calendar, self.use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: result = decode_cf_datetime(example_value, units, calendar, use_cftime) except Exception: calendar_msg = ( "the default calendar" if calendar is None else f"calendar {calendar!r}" ) msg = ( f"unable to decode time units {units!r} with {calendar_msg!r}. Try " "opening your dataset with decode_times=False or installing cftime " "if it is not installed." ) > raise ValueError(msg) E ValueError: unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:194: ValueError During handling of the above exception, another exception occurred: self = @arm_xfail def test_roundtrip_numpy_datetime_data(self) -> None: times = pd.to_datetime(["2000-01-01", "2000-01-02", "NaT"]) expected = Dataset({"t": ("t", times), "t0": times[0]}) kwargs = {"encoding": {"t0": {"units": "days since 1950-01-01"}}} > with self.roundtrip(expected, save_kwargs=kwargs) as actual: /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:311: in roundtrip with self.open(path, **open_kwargs) as ds: /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:337: in open with open_dataset(path, engine=self.engine, **kwargs) as ds: /build/python-xarray/src/xarray-2023.01.0/xarray/backends/api.py:541: in open_dataset backend_ds = backend.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/scipy_.py:307: in open_dataset ds = store_entrypoint.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/store.py:35: in open_dataset vars, attrs, coord_names = conventions.decode_cf_variables( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ variables = Frozen({'t': [3 values with dtype=float64] Attributes: units: days since 2000-01-01...e ()> [1 values with dtype=int32] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) except Exception as e: > raise type(e)(f"Failed to decode variable {k!r}: {e}") E ValueError: Failed to decode variable 't': unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:562: ValueError _________ TestNetCDF3ViaNetCDF4Data.test_roundtrip_numpy_datetime_data _________ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: > dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ flat_num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian' def _decode_datetime_with_pandas( flat_num_dates: np.ndarray, units: str, calendar: str ) -> np.ndarray: if not _is_standard_calendar(calendar): raise OutOfBoundsDatetime( "Cannot decode times from a non-standard calendar, {!r}, using " "pandas.".format(calendar) ) delta, ref_date = _unpack_netcdf_time_units(units) delta = _netcdf_to_numpy_timeunit(delta) try: ref_date = pd.Timestamp(ref_date) except ValueError: # ValueError is raised by pd.Timestamp for non-ISO timestamp # strings, in which case we fall back to using cftime raise OutOfBoundsDatetime with warnings.catch_warnings(): warnings.filterwarnings("ignore", "invalid value encountered", RuntimeWarning) if flat_num_dates.size > 0: # avoid size 0 datetimes GH1329 pd.to_timedelta(flat_num_dates.min(), delta) + ref_date pd.to_timedelta(flat_num_dates.max(), delta) + ref_date # To avoid integer overflow when converting to nanosecond units for integer # dtypes smaller than np.int64 cast all integer and unsigned integer dtype # arrays to np.int64 (GH 2002, GH 6589). Note this is safe even in the case # of np.uint64 values, because any np.uint64 value that would lead to # overflow when converting to np.int64 would not be representable with a # timedelta64 value, and therefore would raise an error in the lines above. if flat_num_dates.dtype.kind in "iu": flat_num_dates = flat_num_dates.astype(np.int64) # Cast input ordinals to integers of nanoseconds because pd.to_timedelta # works much faster when dealing with integers (GH 1399). flat_num_dates_ns_int = (flat_num_dates * _NS_PER_TIME_DELTA[delta]).astype( np.int64 ) # Use pd.to_timedelta to safely cast integer values to timedeltas, # and add those to a Timestamp to safely produce a DatetimeIndex. This # ensures that we do not encounter integer overflow at any point in the # process without raising OutOfBoundsDatetime. > return (pd.to_timedelta(flat_num_dates_ns_int, "ns") + ref_date).values /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): > return self._arith_method(other, operator.add) /usr/lib/python3.10/site-packages/pandas/core/arraylike.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): if ( isinstance(other, Index) and is_object_dtype(other.dtype) and type(other) is not Index ): # We return NotImplemented for object-dtype index *subclasses* so they have # a chance to implement ops before we unwrap them. # See https://github.com/pandas-dev/pandas/issues/31109 return NotImplemented > return super()._arith_method(other, op) /usr/lib/python3.10/site-packages/pandas/core/indexes/base.py:6717: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): res_name = ops.get_op_result_name(self, other) lvalues = self._values rvalues = extract_array(other, extract_numpy=True, extract_range=True) rvalues = ops.maybe_prepare_scalar_for_op(rvalues, lvalues.shape) rvalues = ensure_wrapped_if_datetimelike(rvalues) with np.errstate(all="ignore"): > result = ops.arithmetic_op(lvalues, rvalues, op) /usr/lib/python3.10/site-packages/pandas/core/base.py:1295: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] right = Timestamp('2000-01-01 00:00:00'), op = def arithmetic_op(left: ArrayLike, right: Any, op): """ Evaluate an arithmetic operation `+`, `-`, `*`, `/`, `//`, `%`, `**`, ... Note: the caller is responsible for ensuring that numpy warnings are suppressed (with np.errstate(all="ignore")) if needed. Parameters ---------- left : np.ndarray or ExtensionArray right : object Cannot be a DataFrame or Index. Series is *not* excluded. op : {operator.add, operator.sub, ...} Or one of the reversed variants from roperator. Returns ------- ndarray or ExtensionArray Or a 2-tuple of these in the case of divmod or rdivmod. """ # NB: We assume that extract_array and ensure_wrapped_if_datetimelike # have already been called on `left` and `right`, # and `maybe_prepare_scalar_for_op` has already been called on `right` # We need to special-case datetime64/timedelta64 dtypes (e.g. because numpy # casts integer dtypes to timedelta64 when operating with timedelta64 - GH#22390) if ( should_extension_dispatch(left, right) or isinstance(right, (Timedelta, BaseOffset, Timestamp)) or right is NaT ): # Timedelta/Timestamp and other custom scalars are included in the check # because numexpr will fail on it, see GH#31457 > res_values = op(left, right) /usr/lib/python3.10/site-packages/pandas/core/ops/array_ops.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): other_dtype = getattr(other, "dtype", None) # scalar others if other is NaT: result = self._add_nat() elif isinstance(other, (Tick, timedelta, np.timedelta64)): result = self._add_timedeltalike_scalar(other) elif isinstance(other, BaseOffset): # specifically _not_ a Tick result = self._add_offset(other) elif isinstance(other, (datetime, np.datetime64)): > result = self._add_datetimelike_scalar(other) /usr/lib/python3.10/site-packages/pandas/core/arrays/datetimelike.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') def _add_datetimelike_scalar(self, other) -> DatetimeArray: # adding a timedeltaindex to a datetimelike from pandas.core.arrays import DatetimeArray assert other is not NaT other = Timestamp(other) if other is NaT: # In this case we specifically interpret NaT as a datetime, not # the timedelta interpretation we would get by returning self + NaT result = self.asi8.view("m8[ms]") + NaT.to_datetime64() return DatetimeArray(result) i8 = self.asi8 > result = checked_add_with_arr(i8, other.value, arr_mask=self._isnan) /usr/lib/python3.10/site-packages/pandas/core/arrays/timedeltas.py:482: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ arr = array([ 0, 9223372036854775807]), b = 946684800000000000 arr_mask = array([False, False]), b_mask = None def checked_add_with_arr( arr: np.ndarray, b, arr_mask: npt.NDArray[np.bool_] | None = None, b_mask: npt.NDArray[np.bool_] | None = None, ) -> np.ndarray: """ Perform array addition that checks for underflow and overflow. Performs the addition of an int64 array and an int64 integer (or array) but checks that they do not result in overflow first. For elements that are indicated to be NaN, whether or not there is overflow for that element is automatically ignored. Parameters ---------- arr : array addend. b : array or scalar addend. arr_mask : np.ndarray[bool] or None, default None array indicating which elements to exclude from checking b_mask : np.ndarray[bool] or None, default None array or scalar indicating which element(s) to exclude from checking Returns ------- sum : An array for elements x + b for each element x in arr if b is a scalar or an array for elements x + y for each element pair (x, y) in (arr, b). Raises ------ OverflowError if any x + y exceeds the maximum or minimum int64 value. """ # For performance reasons, we broadcast 'b' to the new array 'b2' # so that it has the same size as 'arr'. b2 = np.broadcast_to(b, arr.shape) if b_mask is not None: # We do the same broadcasting for b_mask as well. b2_mask = np.broadcast_to(b_mask, arr.shape) else: b2_mask = None # For elements that are NaN, regardless of their value, we should # ignore whether they overflow or not when doing the checked add. if arr_mask is not None and b2_mask is not None: not_nan = np.logical_not(arr_mask | b2_mask) elif arr_mask is not None: not_nan = np.logical_not(arr_mask) elif b_mask is not None: # Argument 1 to "__call__" of "_UFunc_Nin1_Nout1" has incompatible type # "Optional[ndarray[Any, dtype[bool_]]]"; expected # "Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[An # y]]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, # int, float, complex, str, bytes]]]" [arg-type] not_nan = np.logical_not(b2_mask) # type: ignore[arg-type] else: not_nan = np.empty(arr.shape, dtype=bool) not_nan.fill(True) # gh-14324: For each element in 'arr' and its corresponding element # in 'b2', we check the sign of the element in 'b2'. If it is positive, # we then check whether its sum with the element in 'arr' exceeds # np.iinfo(np.int64).max. If so, we have an overflow error. If it # it is negative, we then check whether its sum with the element in # 'arr' exceeds np.iinfo(np.int64).min. If so, we have an overflow # error as well. i8max = lib.i8max i8min = iNaT mask1 = b2 > 0 mask2 = b2 < 0 if not mask1.any(): to_raise = ((i8min - b2 > arr) & not_nan).any() elif not mask2.any(): to_raise = ((i8max - b2 < arr) & not_nan).any() else: to_raise = ((i8max - b2[mask1] < arr[mask1]) & not_nan[mask1]).any() or ( (i8min - b2[mask2] > arr[mask2]) & not_nan[mask2] ).any() if to_raise: > raise OverflowError("Overflow in int64 addition") E OverflowError: Overflow in int64 addition /usr/lib/python3.10/site-packages/pandas/core/algorithms.py:1114: OverflowError During handling of the above exception, another exception occurred: times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). > dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E ValueError: year 294277 is out of range pandas/_libs/tslibs/timestamps.pyx:1374: ValueError During handling of the above exception, another exception occurred: data = LazilyIndexedArray(array=, key=BasicIndexer((slice(None, None, None),))) units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: > result = decode_cf_datetime(example_value, units, calendar, use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) except (KeyError, OutOfBoundsDatetime, OutOfBoundsTimedelta, OverflowError): dates = _decode_datetime_with_cftime( flat_num_dates.astype(float), units, calendar ) if ( dates[np.nanargmin(num_dates)].year < 1678 or dates[np.nanargmax(num_dates)].year >= 2262 ): if _is_standard_calendar(calendar): warnings.warn( "Unable to decode time axis into full " "numpy.datetime64 objects, continuing using " "cftime.datetime objects instead, reason: dates out " "of range", SerializationWarning, stacklevel=3, ) else: if _is_standard_calendar(calendar): > dates = cftime_to_nptime(dates) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) except ValueError as e: if raise_on_invalid: > raise ValueError( "Cannot convert date {} to a date in the " "standard calendar. Reason: {}.".format(t, e) ) E ValueError: Cannot convert date 294277-01-09 04:00:54 to a date in the standard calendar. Reason: year 294277 is out of range. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:453: ValueError During handling of the above exception, another exception occurred: variables = Frozen({'t': [3 values with dtype=float64] Attributes: _FillValue: nan units: ...e ()> [1 values with dtype=int32] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: > new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:551: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 't' var = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian concat_characters = True, mask_and_scale = True, decode_times = True decode_endianness = True, stack_char_dim = False, use_cftime = None decode_timedelta = True def decode_cf_variable( name: Hashable, var: Variable, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_endianness: bool = True, stack_char_dim: bool = True, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> Variable: """ Decodes a variable which may hold CF encoded information. This includes variables that have been masked and scaled, which hold CF style time variables (this is almost always the case if the dataset has been serialized) and which have strings encoded as character arrays. Parameters ---------- name : str Name of the variable. Used for better error messages. var : Variable A variable holding potentially CF encoded information. concat_characters : bool Should character arrays be concatenated to strings, for example: ["h", "e", "l", "l", "o"] -> "hello" mask_and_scale : bool Lazily scale (using scale_factor and add_offset) and mask (using _FillValue). If the _Unsigned attribute is present treat integer arrays as unsigned. decode_times : bool Decode cf times ("hours since 2000-01-01") to np.datetime64. decode_endianness : bool Decode arrays from non-native to native endianness. stack_char_dim : bool Whether to stack characters into bytes along the last dimension of this array. Passed as an argument because we need to look at the full dataset to figure out if this is appropriate. use_cftime : bool, optional Only relevant if encoded dates come from a standard calendar (e.g. "gregorian", "proleptic_gregorian", "standard", or not specified). If None (default), attempt to decode times to ``np.datetime64[ns]`` objects; if this is not possible, decode times to ``cftime.datetime`` objects. If True, always decode times to ``cftime.datetime`` objects, regardless of whether or not they can be represented using ``np.datetime64[ns]`` objects. If False, always decode times to ``np.datetime64[ns]`` objects; if this is not possible raise an error. Returns ------- out : Variable A variable holding the decoded equivalent of var. """ # Ensure datetime-like Variables are passed through unmodified (GH 6453) if _contains_datetime_like_objects(var): return var original_dtype = var.dtype if decode_timedelta is None: decode_timedelta = decode_times if concat_characters: if stack_char_dim: var = strings.CharacterArrayCoder().decode(var, name=name) var = strings.EncodedStringCoder().decode(var) if mask_and_scale: for coder in [ variables.UnsignedIntegerCoder(), variables.CFMaskCoder(), variables.CFScaleOffsetCoder(), ]: var = coder.decode(var, name=name) if decode_timedelta: var = times.CFTimedeltaCoder().decode(var, name=name) if decode_times: > var = times.CFDatetimeCoder(use_cftime=use_cftime).decode(var, name=name) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:397: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = variable = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian name = 't' def decode(self, variable: Variable, name: T_Name = None) -> Variable: units = variable.attrs.get("units", None) if isinstance(units, str) and "since" in units: dims, data, attrs, encoding = unpack_for_decoding(variable) units = pop_to(attrs, encoding, "units") calendar = pop_to(attrs, encoding, "calendar") > dtype = _decode_cf_datetime_dtype(data, units, calendar, self.use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = LazilyIndexedArray(array=, key=BasicIndexer((slice(None, None, None),))) units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: result = decode_cf_datetime(example_value, units, calendar, use_cftime) except Exception: calendar_msg = ( "the default calendar" if calendar is None else f"calendar {calendar!r}" ) msg = ( f"unable to decode time units {units!r} with {calendar_msg!r}. Try " "opening your dataset with decode_times=False or installing cftime " "if it is not installed." ) > raise ValueError(msg) E ValueError: unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:194: ValueError During handling of the above exception, another exception occurred: self = @arm_xfail def test_roundtrip_numpy_datetime_data(self) -> None: times = pd.to_datetime(["2000-01-01", "2000-01-02", "NaT"]) expected = Dataset({"t": ("t", times), "t0": times[0]}) kwargs = {"encoding": {"t0": {"units": "days since 1950-01-01"}}} > with self.roundtrip(expected, save_kwargs=kwargs) as actual: /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:311: in roundtrip with self.open(path, **open_kwargs) as ds: /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:337: in open with open_dataset(path, engine=self.engine, **kwargs) as ds: /build/python-xarray/src/xarray-2023.01.0/xarray/backends/api.py:541: in open_dataset backend_ds = backend.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/netCDF4_.py:592: in open_dataset ds = store_entrypoint.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/store.py:35: in open_dataset vars, attrs, coord_names = conventions.decode_cf_variables( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ variables = Frozen({'t': [3 values with dtype=float64] Attributes: _FillValue: nan units: ...e ()> [1 values with dtype=int32] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) except Exception as e: > raise type(e)(f"Failed to decode variable {k!r}: {e}") E ValueError: Failed to decode variable 't': unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:562: ValueError _____ TestNetCDF4ClassicViaNetCDF4Data.test_roundtrip_numpy_datetime_data ______ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: > dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ flat_num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian' def _decode_datetime_with_pandas( flat_num_dates: np.ndarray, units: str, calendar: str ) -> np.ndarray: if not _is_standard_calendar(calendar): raise OutOfBoundsDatetime( "Cannot decode times from a non-standard calendar, {!r}, using " "pandas.".format(calendar) ) delta, ref_date = _unpack_netcdf_time_units(units) delta = _netcdf_to_numpy_timeunit(delta) try: ref_date = pd.Timestamp(ref_date) except ValueError: # ValueError is raised by pd.Timestamp for non-ISO timestamp # strings, in which case we fall back to using cftime raise OutOfBoundsDatetime with warnings.catch_warnings(): warnings.filterwarnings("ignore", "invalid value encountered", RuntimeWarning) if flat_num_dates.size > 0: # avoid size 0 datetimes GH1329 pd.to_timedelta(flat_num_dates.min(), delta) + ref_date pd.to_timedelta(flat_num_dates.max(), delta) + ref_date # To avoid integer overflow when converting to nanosecond units for integer # dtypes smaller than np.int64 cast all integer and unsigned integer dtype # arrays to np.int64 (GH 2002, GH 6589). Note this is safe even in the case # of np.uint64 values, because any np.uint64 value that would lead to # overflow when converting to np.int64 would not be representable with a # timedelta64 value, and therefore would raise an error in the lines above. if flat_num_dates.dtype.kind in "iu": flat_num_dates = flat_num_dates.astype(np.int64) # Cast input ordinals to integers of nanoseconds because pd.to_timedelta # works much faster when dealing with integers (GH 1399). flat_num_dates_ns_int = (flat_num_dates * _NS_PER_TIME_DELTA[delta]).astype( np.int64 ) # Use pd.to_timedelta to safely cast integer values to timedeltas, # and add those to a Timestamp to safely produce a DatetimeIndex. This # ensures that we do not encounter integer overflow at any point in the # process without raising OutOfBoundsDatetime. > return (pd.to_timedelta(flat_num_dates_ns_int, "ns") + ref_date).values /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): > return self._arith_method(other, operator.add) /usr/lib/python3.10/site-packages/pandas/core/arraylike.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): if ( isinstance(other, Index) and is_object_dtype(other.dtype) and type(other) is not Index ): # We return NotImplemented for object-dtype index *subclasses* so they have # a chance to implement ops before we unwrap them. # See https://github.com/pandas-dev/pandas/issues/31109 return NotImplemented > return super()._arith_method(other, op) /usr/lib/python3.10/site-packages/pandas/core/indexes/base.py:6717: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): res_name = ops.get_op_result_name(self, other) lvalues = self._values rvalues = extract_array(other, extract_numpy=True, extract_range=True) rvalues = ops.maybe_prepare_scalar_for_op(rvalues, lvalues.shape) rvalues = ensure_wrapped_if_datetimelike(rvalues) with np.errstate(all="ignore"): > result = ops.arithmetic_op(lvalues, rvalues, op) /usr/lib/python3.10/site-packages/pandas/core/base.py:1295: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] right = Timestamp('2000-01-01 00:00:00'), op = def arithmetic_op(left: ArrayLike, right: Any, op): """ Evaluate an arithmetic operation `+`, `-`, `*`, `/`, `//`, `%`, `**`, ... Note: the caller is responsible for ensuring that numpy warnings are suppressed (with np.errstate(all="ignore")) if needed. Parameters ---------- left : np.ndarray or ExtensionArray right : object Cannot be a DataFrame or Index. Series is *not* excluded. op : {operator.add, operator.sub, ...} Or one of the reversed variants from roperator. Returns ------- ndarray or ExtensionArray Or a 2-tuple of these in the case of divmod or rdivmod. """ # NB: We assume that extract_array and ensure_wrapped_if_datetimelike # have already been called on `left` and `right`, # and `maybe_prepare_scalar_for_op` has already been called on `right` # We need to special-case datetime64/timedelta64 dtypes (e.g. because numpy # casts integer dtypes to timedelta64 when operating with timedelta64 - GH#22390) if ( should_extension_dispatch(left, right) or isinstance(right, (Timedelta, BaseOffset, Timestamp)) or right is NaT ): # Timedelta/Timestamp and other custom scalars are included in the check # because numexpr will fail on it, see GH#31457 > res_values = op(left, right) /usr/lib/python3.10/site-packages/pandas/core/ops/array_ops.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): other_dtype = getattr(other, "dtype", None) # scalar others if other is NaT: result = self._add_nat() elif isinstance(other, (Tick, timedelta, np.timedelta64)): result = self._add_timedeltalike_scalar(other) elif isinstance(other, BaseOffset): # specifically _not_ a Tick result = self._add_offset(other) elif isinstance(other, (datetime, np.datetime64)): > result = self._add_datetimelike_scalar(other) /usr/lib/python3.10/site-packages/pandas/core/arrays/datetimelike.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') def _add_datetimelike_scalar(self, other) -> DatetimeArray: # adding a timedeltaindex to a datetimelike from pandas.core.arrays import DatetimeArray assert other is not NaT other = Timestamp(other) if other is NaT: # In this case we specifically interpret NaT as a datetime, not # the timedelta interpretation we would get by returning self + NaT result = self.asi8.view("m8[ms]") + NaT.to_datetime64() return DatetimeArray(result) i8 = self.asi8 > result = checked_add_with_arr(i8, other.value, arr_mask=self._isnan) /usr/lib/python3.10/site-packages/pandas/core/arrays/timedeltas.py:482: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ arr = array([ 0, 9223372036854775807]), b = 946684800000000000 arr_mask = array([False, False]), b_mask = None def checked_add_with_arr( arr: np.ndarray, b, arr_mask: npt.NDArray[np.bool_] | None = None, b_mask: npt.NDArray[np.bool_] | None = None, ) -> np.ndarray: """ Perform array addition that checks for underflow and overflow. Performs the addition of an int64 array and an int64 integer (or array) but checks that they do not result in overflow first. For elements that are indicated to be NaN, whether or not there is overflow for that element is automatically ignored. Parameters ---------- arr : array addend. b : array or scalar addend. arr_mask : np.ndarray[bool] or None, default None array indicating which elements to exclude from checking b_mask : np.ndarray[bool] or None, default None array or scalar indicating which element(s) to exclude from checking Returns ------- sum : An array for elements x + b for each element x in arr if b is a scalar or an array for elements x + y for each element pair (x, y) in (arr, b). Raises ------ OverflowError if any x + y exceeds the maximum or minimum int64 value. """ # For performance reasons, we broadcast 'b' to the new array 'b2' # so that it has the same size as 'arr'. b2 = np.broadcast_to(b, arr.shape) if b_mask is not None: # We do the same broadcasting for b_mask as well. b2_mask = np.broadcast_to(b_mask, arr.shape) else: b2_mask = None # For elements that are NaN, regardless of their value, we should # ignore whether they overflow or not when doing the checked add. if arr_mask is not None and b2_mask is not None: not_nan = np.logical_not(arr_mask | b2_mask) elif arr_mask is not None: not_nan = np.logical_not(arr_mask) elif b_mask is not None: # Argument 1 to "__call__" of "_UFunc_Nin1_Nout1" has incompatible type # "Optional[ndarray[Any, dtype[bool_]]]"; expected # "Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[An # y]]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, # int, float, complex, str, bytes]]]" [arg-type] not_nan = np.logical_not(b2_mask) # type: ignore[arg-type] else: not_nan = np.empty(arr.shape, dtype=bool) not_nan.fill(True) # gh-14324: For each element in 'arr' and its corresponding element # in 'b2', we check the sign of the element in 'b2'. If it is positive, # we then check whether its sum with the element in 'arr' exceeds # np.iinfo(np.int64).max. If so, we have an overflow error. If it # it is negative, we then check whether its sum with the element in # 'arr' exceeds np.iinfo(np.int64).min. If so, we have an overflow # error as well. i8max = lib.i8max i8min = iNaT mask1 = b2 > 0 mask2 = b2 < 0 if not mask1.any(): to_raise = ((i8min - b2 > arr) & not_nan).any() elif not mask2.any(): to_raise = ((i8max - b2 < arr) & not_nan).any() else: to_raise = ((i8max - b2[mask1] < arr[mask1]) & not_nan[mask1]).any() or ( (i8min - b2[mask2] > arr[mask2]) & not_nan[mask2] ).any() if to_raise: > raise OverflowError("Overflow in int64 addition") E OverflowError: Overflow in int64 addition /usr/lib/python3.10/site-packages/pandas/core/algorithms.py:1114: OverflowError During handling of the above exception, another exception occurred: times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). > dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E ValueError: year 294277 is out of range pandas/_libs/tslibs/timestamps.pyx:1374: ValueError During handling of the above exception, another exception occurred: data = LazilyIndexedArray(array=, key=BasicIndexer((slice(None, None, None),))) units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: > result = decode_cf_datetime(example_value, units, calendar, use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) except (KeyError, OutOfBoundsDatetime, OutOfBoundsTimedelta, OverflowError): dates = _decode_datetime_with_cftime( flat_num_dates.astype(float), units, calendar ) if ( dates[np.nanargmin(num_dates)].year < 1678 or dates[np.nanargmax(num_dates)].year >= 2262 ): if _is_standard_calendar(calendar): warnings.warn( "Unable to decode time axis into full " "numpy.datetime64 objects, continuing using " "cftime.datetime objects instead, reason: dates out " "of range", SerializationWarning, stacklevel=3, ) else: if _is_standard_calendar(calendar): > dates = cftime_to_nptime(dates) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) except ValueError as e: if raise_on_invalid: > raise ValueError( "Cannot convert date {} to a date in the " "standard calendar. Reason: {}.".format(t, e) ) E ValueError: Cannot convert date 294277-01-09 04:00:54 to a date in the standard calendar. Reason: year 294277 is out of range. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:453: ValueError During handling of the above exception, another exception occurred: variables = Frozen({'t': [3 values with dtype=float64] Attributes: _FillValue: nan units: ...e ()> [1 values with dtype=int32] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: > new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:551: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 't' var = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian concat_characters = True, mask_and_scale = True, decode_times = True decode_endianness = True, stack_char_dim = False, use_cftime = None decode_timedelta = True def decode_cf_variable( name: Hashable, var: Variable, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_endianness: bool = True, stack_char_dim: bool = True, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> Variable: """ Decodes a variable which may hold CF encoded information. This includes variables that have been masked and scaled, which hold CF style time variables (this is almost always the case if the dataset has been serialized) and which have strings encoded as character arrays. Parameters ---------- name : str Name of the variable. Used for better error messages. var : Variable A variable holding potentially CF encoded information. concat_characters : bool Should character arrays be concatenated to strings, for example: ["h", "e", "l", "l", "o"] -> "hello" mask_and_scale : bool Lazily scale (using scale_factor and add_offset) and mask (using _FillValue). If the _Unsigned attribute is present treat integer arrays as unsigned. decode_times : bool Decode cf times ("hours since 2000-01-01") to np.datetime64. decode_endianness : bool Decode arrays from non-native to native endianness. stack_char_dim : bool Whether to stack characters into bytes along the last dimension of this array. Passed as an argument because we need to look at the full dataset to figure out if this is appropriate. use_cftime : bool, optional Only relevant if encoded dates come from a standard calendar (e.g. "gregorian", "proleptic_gregorian", "standard", or not specified). If None (default), attempt to decode times to ``np.datetime64[ns]`` objects; if this is not possible, decode times to ``cftime.datetime`` objects. If True, always decode times to ``cftime.datetime`` objects, regardless of whether or not they can be represented using ``np.datetime64[ns]`` objects. If False, always decode times to ``np.datetime64[ns]`` objects; if this is not possible raise an error. Returns ------- out : Variable A variable holding the decoded equivalent of var. """ # Ensure datetime-like Variables are passed through unmodified (GH 6453) if _contains_datetime_like_objects(var): return var original_dtype = var.dtype if decode_timedelta is None: decode_timedelta = decode_times if concat_characters: if stack_char_dim: var = strings.CharacterArrayCoder().decode(var, name=name) var = strings.EncodedStringCoder().decode(var) if mask_and_scale: for coder in [ variables.UnsignedIntegerCoder(), variables.CFMaskCoder(), variables.CFScaleOffsetCoder(), ]: var = coder.decode(var, name=name) if decode_timedelta: var = times.CFTimedeltaCoder().decode(var, name=name) if decode_times: > var = times.CFDatetimeCoder(use_cftime=use_cftime).decode(var, name=name) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:397: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = variable = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian name = 't' def decode(self, variable: Variable, name: T_Name = None) -> Variable: units = variable.attrs.get("units", None) if isinstance(units, str) and "since" in units: dims, data, attrs, encoding = unpack_for_decoding(variable) units = pop_to(attrs, encoding, "units") calendar = pop_to(attrs, encoding, "calendar") > dtype = _decode_cf_datetime_dtype(data, units, calendar, self.use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = LazilyIndexedArray(array=, key=BasicIndexer((slice(None, None, None),))) units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: result = decode_cf_datetime(example_value, units, calendar, use_cftime) except Exception: calendar_msg = ( "the default calendar" if calendar is None else f"calendar {calendar!r}" ) msg = ( f"unable to decode time units {units!r} with {calendar_msg!r}. Try " "opening your dataset with decode_times=False or installing cftime " "if it is not installed." ) > raise ValueError(msg) E ValueError: unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:194: ValueError During handling of the above exception, another exception occurred: self = @arm_xfail def test_roundtrip_numpy_datetime_data(self) -> None: times = pd.to_datetime(["2000-01-01", "2000-01-02", "NaT"]) expected = Dataset({"t": ("t", times), "t0": times[0]}) kwargs = {"encoding": {"t0": {"units": "days since 1950-01-01"}}} > with self.roundtrip(expected, save_kwargs=kwargs) as actual: /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:311: in roundtrip with self.open(path, **open_kwargs) as ds: /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:337: in open with open_dataset(path, engine=self.engine, **kwargs) as ds: /build/python-xarray/src/xarray-2023.01.0/xarray/backends/api.py:541: in open_dataset backend_ds = backend.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/netCDF4_.py:592: in open_dataset ds = store_entrypoint.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/store.py:35: in open_dataset vars, attrs, coord_names = conventions.decode_cf_variables( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ variables = Frozen({'t': [3 values with dtype=float64] Attributes: _FillValue: nan units: ...e ()> [1 values with dtype=int32] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) except Exception as e: > raise type(e)(f"Failed to decode variable {k!r}: {e}") E ValueError: Failed to decode variable 't': unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:562: ValueError ___________ TestGenericNetCDFData.test_roundtrip_numpy_datetime_data ___________ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: > dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ flat_num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian' def _decode_datetime_with_pandas( flat_num_dates: np.ndarray, units: str, calendar: str ) -> np.ndarray: if not _is_standard_calendar(calendar): raise OutOfBoundsDatetime( "Cannot decode times from a non-standard calendar, {!r}, using " "pandas.".format(calendar) ) delta, ref_date = _unpack_netcdf_time_units(units) delta = _netcdf_to_numpy_timeunit(delta) try: ref_date = pd.Timestamp(ref_date) except ValueError: # ValueError is raised by pd.Timestamp for non-ISO timestamp # strings, in which case we fall back to using cftime raise OutOfBoundsDatetime with warnings.catch_warnings(): warnings.filterwarnings("ignore", "invalid value encountered", RuntimeWarning) if flat_num_dates.size > 0: # avoid size 0 datetimes GH1329 pd.to_timedelta(flat_num_dates.min(), delta) + ref_date pd.to_timedelta(flat_num_dates.max(), delta) + ref_date # To avoid integer overflow when converting to nanosecond units for integer # dtypes smaller than np.int64 cast all integer and unsigned integer dtype # arrays to np.int64 (GH 2002, GH 6589). Note this is safe even in the case # of np.uint64 values, because any np.uint64 value that would lead to # overflow when converting to np.int64 would not be representable with a # timedelta64 value, and therefore would raise an error in the lines above. if flat_num_dates.dtype.kind in "iu": flat_num_dates = flat_num_dates.astype(np.int64) # Cast input ordinals to integers of nanoseconds because pd.to_timedelta # works much faster when dealing with integers (GH 1399). flat_num_dates_ns_int = (flat_num_dates * _NS_PER_TIME_DELTA[delta]).astype( np.int64 ) # Use pd.to_timedelta to safely cast integer values to timedeltas, # and add those to a Timestamp to safely produce a DatetimeIndex. This # ensures that we do not encounter integer overflow at any point in the # process without raising OutOfBoundsDatetime. > return (pd.to_timedelta(flat_num_dates_ns_int, "ns") + ref_date).values /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): > return self._arith_method(other, operator.add) /usr/lib/python3.10/site-packages/pandas/core/arraylike.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): if ( isinstance(other, Index) and is_object_dtype(other.dtype) and type(other) is not Index ): # We return NotImplemented for object-dtype index *subclasses* so they have # a chance to implement ops before we unwrap them. # See https://github.com/pandas-dev/pandas/issues/31109 return NotImplemented > return super()._arith_method(other, op) /usr/lib/python3.10/site-packages/pandas/core/indexes/base.py:6717: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): res_name = ops.get_op_result_name(self, other) lvalues = self._values rvalues = extract_array(other, extract_numpy=True, extract_range=True) rvalues = ops.maybe_prepare_scalar_for_op(rvalues, lvalues.shape) rvalues = ensure_wrapped_if_datetimelike(rvalues) with np.errstate(all="ignore"): > result = ops.arithmetic_op(lvalues, rvalues, op) /usr/lib/python3.10/site-packages/pandas/core/base.py:1295: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] right = Timestamp('2000-01-01 00:00:00'), op = def arithmetic_op(left: ArrayLike, right: Any, op): """ Evaluate an arithmetic operation `+`, `-`, `*`, `/`, `//`, `%`, `**`, ... Note: the caller is responsible for ensuring that numpy warnings are suppressed (with np.errstate(all="ignore")) if needed. Parameters ---------- left : np.ndarray or ExtensionArray right : object Cannot be a DataFrame or Index. Series is *not* excluded. op : {operator.add, operator.sub, ...} Or one of the reversed variants from roperator. Returns ------- ndarray or ExtensionArray Or a 2-tuple of these in the case of divmod or rdivmod. """ # NB: We assume that extract_array and ensure_wrapped_if_datetimelike # have already been called on `left` and `right`, # and `maybe_prepare_scalar_for_op` has already been called on `right` # We need to special-case datetime64/timedelta64 dtypes (e.g. because numpy # casts integer dtypes to timedelta64 when operating with timedelta64 - GH#22390) if ( should_extension_dispatch(left, right) or isinstance(right, (Timedelta, BaseOffset, Timestamp)) or right is NaT ): # Timedelta/Timestamp and other custom scalars are included in the check # because numexpr will fail on it, see GH#31457 > res_values = op(left, right) /usr/lib/python3.10/site-packages/pandas/core/ops/array_ops.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): other_dtype = getattr(other, "dtype", None) # scalar others if other is NaT: result = self._add_nat() elif isinstance(other, (Tick, timedelta, np.timedelta64)): result = self._add_timedeltalike_scalar(other) elif isinstance(other, BaseOffset): # specifically _not_ a Tick result = self._add_offset(other) elif isinstance(other, (datetime, np.datetime64)): > result = self._add_datetimelike_scalar(other) /usr/lib/python3.10/site-packages/pandas/core/arrays/datetimelike.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') def _add_datetimelike_scalar(self, other) -> DatetimeArray: # adding a timedeltaindex to a datetimelike from pandas.core.arrays import DatetimeArray assert other is not NaT other = Timestamp(other) if other is NaT: # In this case we specifically interpret NaT as a datetime, not # the timedelta interpretation we would get by returning self + NaT result = self.asi8.view("m8[ms]") + NaT.to_datetime64() return DatetimeArray(result) i8 = self.asi8 > result = checked_add_with_arr(i8, other.value, arr_mask=self._isnan) /usr/lib/python3.10/site-packages/pandas/core/arrays/timedeltas.py:482: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ arr = array([ 0, 9223372036854775807]), b = 946684800000000000 arr_mask = array([False, False]), b_mask = None def checked_add_with_arr( arr: np.ndarray, b, arr_mask: npt.NDArray[np.bool_] | None = None, b_mask: npt.NDArray[np.bool_] | None = None, ) -> np.ndarray: """ Perform array addition that checks for underflow and overflow. Performs the addition of an int64 array and an int64 integer (or array) but checks that they do not result in overflow first. For elements that are indicated to be NaN, whether or not there is overflow for that element is automatically ignored. Parameters ---------- arr : array addend. b : array or scalar addend. arr_mask : np.ndarray[bool] or None, default None array indicating which elements to exclude from checking b_mask : np.ndarray[bool] or None, default None array or scalar indicating which element(s) to exclude from checking Returns ------- sum : An array for elements x + b for each element x in arr if b is a scalar or an array for elements x + y for each element pair (x, y) in (arr, b). Raises ------ OverflowError if any x + y exceeds the maximum or minimum int64 value. """ # For performance reasons, we broadcast 'b' to the new array 'b2' # so that it has the same size as 'arr'. b2 = np.broadcast_to(b, arr.shape) if b_mask is not None: # We do the same broadcasting for b_mask as well. b2_mask = np.broadcast_to(b_mask, arr.shape) else: b2_mask = None # For elements that are NaN, regardless of their value, we should # ignore whether they overflow or not when doing the checked add. if arr_mask is not None and b2_mask is not None: not_nan = np.logical_not(arr_mask | b2_mask) elif arr_mask is not None: not_nan = np.logical_not(arr_mask) elif b_mask is not None: # Argument 1 to "__call__" of "_UFunc_Nin1_Nout1" has incompatible type # "Optional[ndarray[Any, dtype[bool_]]]"; expected # "Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[An # y]]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, # int, float, complex, str, bytes]]]" [arg-type] not_nan = np.logical_not(b2_mask) # type: ignore[arg-type] else: not_nan = np.empty(arr.shape, dtype=bool) not_nan.fill(True) # gh-14324: For each element in 'arr' and its corresponding element # in 'b2', we check the sign of the element in 'b2'. If it is positive, # we then check whether its sum with the element in 'arr' exceeds # np.iinfo(np.int64).max. If so, we have an overflow error. If it # it is negative, we then check whether its sum with the element in # 'arr' exceeds np.iinfo(np.int64).min. If so, we have an overflow # error as well. i8max = lib.i8max i8min = iNaT mask1 = b2 > 0 mask2 = b2 < 0 if not mask1.any(): to_raise = ((i8min - b2 > arr) & not_nan).any() elif not mask2.any(): to_raise = ((i8max - b2 < arr) & not_nan).any() else: to_raise = ((i8max - b2[mask1] < arr[mask1]) & not_nan[mask1]).any() or ( (i8min - b2[mask2] > arr[mask2]) & not_nan[mask2] ).any() if to_raise: > raise OverflowError("Overflow in int64 addition") E OverflowError: Overflow in int64 addition /usr/lib/python3.10/site-packages/pandas/core/algorithms.py:1114: OverflowError During handling of the above exception, another exception occurred: times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). > dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E ValueError: year 294277 is out of range pandas/_libs/tslibs/timestamps.pyx:1374: ValueError During handling of the above exception, another exception occurred: data = LazilyIndexedArray(array=, key=BasicIndexer((slice(None, None, None),))) units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: > result = decode_cf_datetime(example_value, units, calendar, use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) except (KeyError, OutOfBoundsDatetime, OutOfBoundsTimedelta, OverflowError): dates = _decode_datetime_with_cftime( flat_num_dates.astype(float), units, calendar ) if ( dates[np.nanargmin(num_dates)].year < 1678 or dates[np.nanargmax(num_dates)].year >= 2262 ): if _is_standard_calendar(calendar): warnings.warn( "Unable to decode time axis into full " "numpy.datetime64 objects, continuing using " "cftime.datetime objects instead, reason: dates out " "of range", SerializationWarning, stacklevel=3, ) else: if _is_standard_calendar(calendar): > dates = cftime_to_nptime(dates) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) except ValueError as e: if raise_on_invalid: > raise ValueError( "Cannot convert date {} to a date in the " "standard calendar. Reason: {}.".format(t, e) ) E ValueError: Cannot convert date 294277-01-09 04:00:54 to a date in the standard calendar. Reason: year 294277 is out of range. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:453: ValueError During handling of the above exception, another exception occurred: variables = Frozen({'t': [3 values with dtype=float64] Attributes: _FillValue: nan units: ...e ()> [1 values with dtype=int32] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: > new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:551: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 't' var = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian concat_characters = True, mask_and_scale = True, decode_times = True decode_endianness = True, stack_char_dim = False, use_cftime = None decode_timedelta = True def decode_cf_variable( name: Hashable, var: Variable, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_endianness: bool = True, stack_char_dim: bool = True, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> Variable: """ Decodes a variable which may hold CF encoded information. This includes variables that have been masked and scaled, which hold CF style time variables (this is almost always the case if the dataset has been serialized) and which have strings encoded as character arrays. Parameters ---------- name : str Name of the variable. Used for better error messages. var : Variable A variable holding potentially CF encoded information. concat_characters : bool Should character arrays be concatenated to strings, for example: ["h", "e", "l", "l", "o"] -> "hello" mask_and_scale : bool Lazily scale (using scale_factor and add_offset) and mask (using _FillValue). If the _Unsigned attribute is present treat integer arrays as unsigned. decode_times : bool Decode cf times ("hours since 2000-01-01") to np.datetime64. decode_endianness : bool Decode arrays from non-native to native endianness. stack_char_dim : bool Whether to stack characters into bytes along the last dimension of this array. Passed as an argument because we need to look at the full dataset to figure out if this is appropriate. use_cftime : bool, optional Only relevant if encoded dates come from a standard calendar (e.g. "gregorian", "proleptic_gregorian", "standard", or not specified). If None (default), attempt to decode times to ``np.datetime64[ns]`` objects; if this is not possible, decode times to ``cftime.datetime`` objects. If True, always decode times to ``cftime.datetime`` objects, regardless of whether or not they can be represented using ``np.datetime64[ns]`` objects. If False, always decode times to ``np.datetime64[ns]`` objects; if this is not possible raise an error. Returns ------- out : Variable A variable holding the decoded equivalent of var. """ # Ensure datetime-like Variables are passed through unmodified (GH 6453) if _contains_datetime_like_objects(var): return var original_dtype = var.dtype if decode_timedelta is None: decode_timedelta = decode_times if concat_characters: if stack_char_dim: var = strings.CharacterArrayCoder().decode(var, name=name) var = strings.EncodedStringCoder().decode(var) if mask_and_scale: for coder in [ variables.UnsignedIntegerCoder(), variables.CFMaskCoder(), variables.CFScaleOffsetCoder(), ]: var = coder.decode(var, name=name) if decode_timedelta: var = times.CFTimedeltaCoder().decode(var, name=name) if decode_times: > var = times.CFDatetimeCoder(use_cftime=use_cftime).decode(var, name=name) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:397: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = variable = [3 values with dtype=float64] Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian name = 't' def decode(self, variable: Variable, name: T_Name = None) -> Variable: units = variable.attrs.get("units", None) if isinstance(units, str) and "since" in units: dims, data, attrs, encoding = unpack_for_decoding(variable) units = pop_to(attrs, encoding, "units") calendar = pop_to(attrs, encoding, "calendar") > dtype = _decode_cf_datetime_dtype(data, units, calendar, self.use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = LazilyIndexedArray(array=, key=BasicIndexer((slice(None, None, None),))) units = 'days since 2000-01-01 00:00:00', calendar = 'proleptic_gregorian' use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: result = decode_cf_datetime(example_value, units, calendar, use_cftime) except Exception: calendar_msg = ( "the default calendar" if calendar is None else f"calendar {calendar!r}" ) msg = ( f"unable to decode time units {units!r} with {calendar_msg!r}. Try " "opening your dataset with decode_times=False or installing cftime " "if it is not installed." ) > raise ValueError(msg) E ValueError: unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:194: ValueError During handling of the above exception, another exception occurred: self = @arm_xfail def test_roundtrip_numpy_datetime_data(self) -> None: times = pd.to_datetime(["2000-01-01", "2000-01-02", "NaT"]) expected = Dataset({"t": ("t", times), "t0": times[0]}) kwargs = {"encoding": {"t0": {"units": "days since 1950-01-01"}}} > with self.roundtrip(expected, save_kwargs=kwargs) as actual: /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:311: in roundtrip with self.open(path, **open_kwargs) as ds: /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:337: in open with open_dataset(path, engine=self.engine, **kwargs) as ds: /build/python-xarray/src/xarray-2023.01.0/xarray/backends/api.py:541: in open_dataset backend_ds = backend.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/netCDF4_.py:592: in open_dataset ds = store_entrypoint.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/store.py:35: in open_dataset vars, attrs, coord_names = conventions.decode_cf_variables( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ variables = Frozen({'t': [3 values with dtype=float64] Attributes: _FillValue: nan units: ...e ()> [1 values with dtype=int32] Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) except Exception as e: > raise type(e)(f"Failed to decode variable {k!r}: {e}") E ValueError: Failed to decode variable 't': unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:562: ValueError ____ test_cf_datetime_nan[num_dates0-days since 2000-01-01-expected_list0] _____ num_dates = array([nan]), units = 'days since 2000-01-01', calendar = 'standard' use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: > dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ flat_num_dates = array([nan]), units = 'days since 2000-01-01' calendar = 'standard' def _decode_datetime_with_pandas( flat_num_dates: np.ndarray, units: str, calendar: str ) -> np.ndarray: if not _is_standard_calendar(calendar): raise OutOfBoundsDatetime( "Cannot decode times from a non-standard calendar, {!r}, using " "pandas.".format(calendar) ) delta, ref_date = _unpack_netcdf_time_units(units) delta = _netcdf_to_numpy_timeunit(delta) try: ref_date = pd.Timestamp(ref_date) except ValueError: # ValueError is raised by pd.Timestamp for non-ISO timestamp # strings, in which case we fall back to using cftime raise OutOfBoundsDatetime with warnings.catch_warnings(): warnings.filterwarnings("ignore", "invalid value encountered", RuntimeWarning) if flat_num_dates.size > 0: # avoid size 0 datetimes GH1329 pd.to_timedelta(flat_num_dates.min(), delta) + ref_date pd.to_timedelta(flat_num_dates.max(), delta) + ref_date # To avoid integer overflow when converting to nanosecond units for integer # dtypes smaller than np.int64 cast all integer and unsigned integer dtype # arrays to np.int64 (GH 2002, GH 6589). Note this is safe even in the case # of np.uint64 values, because any np.uint64 value that would lead to # overflow when converting to np.int64 would not be representable with a # timedelta64 value, and therefore would raise an error in the lines above. if flat_num_dates.dtype.kind in "iu": flat_num_dates = flat_num_dates.astype(np.int64) # Cast input ordinals to integers of nanoseconds because pd.to_timedelta # works much faster when dealing with integers (GH 1399). flat_num_dates_ns_int = (flat_num_dates * _NS_PER_TIME_DELTA[delta]).astype( np.int64 ) # Use pd.to_timedelta to safely cast integer values to timedeltas, # and add those to a Timestamp to safely produce a DatetimeIndex. This # ensures that we do not encounter integer overflow at any point in the # process without raising OutOfBoundsDatetime. > return (pd.to_timedelta(flat_num_dates_ns_int, "ns") + ref_date).values /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): > return self._arith_method(other, operator.add) /usr/lib/python3.10/site-packages/pandas/core/arraylike.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): if ( isinstance(other, Index) and is_object_dtype(other.dtype) and type(other) is not Index ): # We return NotImplemented for object-dtype index *subclasses* so they have # a chance to implement ops before we unwrap them. # See https://github.com/pandas-dev/pandas/issues/31109 return NotImplemented > return super()._arith_method(other, op) /usr/lib/python3.10/site-packages/pandas/core/indexes/base.py:6717: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): res_name = ops.get_op_result_name(self, other) lvalues = self._values rvalues = extract_array(other, extract_numpy=True, extract_range=True) rvalues = ops.maybe_prepare_scalar_for_op(rvalues, lvalues.shape) rvalues = ensure_wrapped_if_datetimelike(rvalues) with np.errstate(all="ignore"): > result = ops.arithmetic_op(lvalues, rvalues, op) /usr/lib/python3.10/site-packages/pandas/core/base.py:1295: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = ['106751 days 23:47:16.854775807'] Length: 1, dtype: timedelta64[ns] right = Timestamp('2000-01-01 00:00:00'), op = def arithmetic_op(left: ArrayLike, right: Any, op): """ Evaluate an arithmetic operation `+`, `-`, `*`, `/`, `//`, `%`, `**`, ... Note: the caller is responsible for ensuring that numpy warnings are suppressed (with np.errstate(all="ignore")) if needed. Parameters ---------- left : np.ndarray or ExtensionArray right : object Cannot be a DataFrame or Index. Series is *not* excluded. op : {operator.add, operator.sub, ...} Or one of the reversed variants from roperator. Returns ------- ndarray or ExtensionArray Or a 2-tuple of these in the case of divmod or rdivmod. """ # NB: We assume that extract_array and ensure_wrapped_if_datetimelike # have already been called on `left` and `right`, # and `maybe_prepare_scalar_for_op` has already been called on `right` # We need to special-case datetime64/timedelta64 dtypes (e.g. because numpy # casts integer dtypes to timedelta64 when operating with timedelta64 - GH#22390) if ( should_extension_dispatch(left, right) or isinstance(right, (Timedelta, BaseOffset, Timestamp)) or right is NaT ): # Timedelta/Timestamp and other custom scalars are included in the check # because numexpr will fail on it, see GH#31457 > res_values = op(left, right) /usr/lib/python3.10/site-packages/pandas/core/ops/array_ops.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['106751 days 23:47:16.854775807'] Length: 1, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['106751 days 23:47:16.854775807'] Length: 1, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): other_dtype = getattr(other, "dtype", None) # scalar others if other is NaT: result = self._add_nat() elif isinstance(other, (Tick, timedelta, np.timedelta64)): result = self._add_timedeltalike_scalar(other) elif isinstance(other, BaseOffset): # specifically _not_ a Tick result = self._add_offset(other) elif isinstance(other, (datetime, np.datetime64)): > result = self._add_datetimelike_scalar(other) /usr/lib/python3.10/site-packages/pandas/core/arrays/datetimelike.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['106751 days 23:47:16.854775807'] Length: 1, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') def _add_datetimelike_scalar(self, other) -> DatetimeArray: # adding a timedeltaindex to a datetimelike from pandas.core.arrays import DatetimeArray assert other is not NaT other = Timestamp(other) if other is NaT: # In this case we specifically interpret NaT as a datetime, not # the timedelta interpretation we would get by returning self + NaT result = self.asi8.view("m8[ms]") + NaT.to_datetime64() return DatetimeArray(result) i8 = self.asi8 > result = checked_add_with_arr(i8, other.value, arr_mask=self._isnan) /usr/lib/python3.10/site-packages/pandas/core/arrays/timedeltas.py:482: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ arr = array([9223372036854775807]), b = 946684800000000000 arr_mask = array([False]), b_mask = None def checked_add_with_arr( arr: np.ndarray, b, arr_mask: npt.NDArray[np.bool_] | None = None, b_mask: npt.NDArray[np.bool_] | None = None, ) -> np.ndarray: """ Perform array addition that checks for underflow and overflow. Performs the addition of an int64 array and an int64 integer (or array) but checks that they do not result in overflow first. For elements that are indicated to be NaN, whether or not there is overflow for that element is automatically ignored. Parameters ---------- arr : array addend. b : array or scalar addend. arr_mask : np.ndarray[bool] or None, default None array indicating which elements to exclude from checking b_mask : np.ndarray[bool] or None, default None array or scalar indicating which element(s) to exclude from checking Returns ------- sum : An array for elements x + b for each element x in arr if b is a scalar or an array for elements x + y for each element pair (x, y) in (arr, b). Raises ------ OverflowError if any x + y exceeds the maximum or minimum int64 value. """ # For performance reasons, we broadcast 'b' to the new array 'b2' # so that it has the same size as 'arr'. b2 = np.broadcast_to(b, arr.shape) if b_mask is not None: # We do the same broadcasting for b_mask as well. b2_mask = np.broadcast_to(b_mask, arr.shape) else: b2_mask = None # For elements that are NaN, regardless of their value, we should # ignore whether they overflow or not when doing the checked add. if arr_mask is not None and b2_mask is not None: not_nan = np.logical_not(arr_mask | b2_mask) elif arr_mask is not None: not_nan = np.logical_not(arr_mask) elif b_mask is not None: # Argument 1 to "__call__" of "_UFunc_Nin1_Nout1" has incompatible type # "Optional[ndarray[Any, dtype[bool_]]]"; expected # "Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[An # y]]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, # int, float, complex, str, bytes]]]" [arg-type] not_nan = np.logical_not(b2_mask) # type: ignore[arg-type] else: not_nan = np.empty(arr.shape, dtype=bool) not_nan.fill(True) # gh-14324: For each element in 'arr' and its corresponding element # in 'b2', we check the sign of the element in 'b2'. If it is positive, # we then check whether its sum with the element in 'arr' exceeds # np.iinfo(np.int64).max. If so, we have an overflow error. If it # it is negative, we then check whether its sum with the element in # 'arr' exceeds np.iinfo(np.int64).min. If so, we have an overflow # error as well. i8max = lib.i8max i8min = iNaT mask1 = b2 > 0 mask2 = b2 < 0 if not mask1.any(): to_raise = ((i8min - b2 > arr) & not_nan).any() elif not mask2.any(): to_raise = ((i8max - b2 < arr) & not_nan).any() else: to_raise = ((i8max - b2[mask1] < arr[mask1]) & not_nan[mask1]).any() or ( (i8min - b2[mask2] > arr[mask2]) & not_nan[mask2] ).any() if to_raise: > raise OverflowError("Overflow in int64 addition") E OverflowError: Overflow in int64 addition /usr/lib/python3.10/site-packages/pandas/core/algorithms.py:1114: OverflowError During handling of the above exception, another exception occurred: num_dates = [nan], units = 'days since 2000-01-01', expected_list = ['NaT'] @arm_xfail @requires_cftime @pytest.mark.parametrize( ["num_dates", "units", "expected_list"], [ ([np.nan], "days since 2000-01-01", ["NaT"]), ([np.nan, 0], "days since 2000-01-01", ["NaT", "2000-01-01T00:00:00Z"]), ( [np.nan, 0, 1], "days since 2000-01-01", ["NaT", "2000-01-01T00:00:00Z", "2000-01-02T00:00:00Z"], ), ], ) def test_cf_datetime_nan(num_dates, units, expected_list) -> None: with warnings.catch_warnings(): warnings.filterwarnings("ignore", "All-NaN") > actual = coding.times.decode_cf_datetime(num_dates, units) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_coding_times.py:494: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:292: in decode_cf_datetime dates[np.nanargmin(num_dates)].year < 1678 <__array_function__ internals>:200: in nanargmin ??? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = array([inf]), axis = None, out = None @array_function_dispatch(_nanargmin_dispatcher) def nanargmin(a, axis=None, out=None, *, keepdims=np._NoValue): """ Return the indices of the minimum values in the specified axis ignoring NaNs. For all-NaN slices ``ValueError`` is raised. Warning: the results cannot be trusted if a slice contains only NaNs and Infs. Parameters ---------- a : array_like Input data. axis : int, optional Axis along which to operate. By default flattened input is used. out : array, optional If provided, the result will be inserted into this array. It should be of the appropriate shape and dtype. .. versionadded:: 1.22.0 keepdims : bool, optional If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the array. .. versionadded:: 1.22.0 Returns ------- index_array : ndarray An array of indices or a single index value. See Also -------- argmin, nanargmax Examples -------- >>> a = np.array([[np.nan, 4], [2, 3]]) >>> np.argmin(a) 0 >>> np.nanargmin(a) 2 >>> np.nanargmin(a, axis=0) array([1, 1]) >>> np.nanargmin(a, axis=1) array([1, 0]) """ a, mask = _replace_nan(a, np.inf) if mask is not None: mask = np.all(mask, axis=axis) if np.any(mask): > raise ValueError("All-NaN slice encountered") E ValueError: All-NaN slice encountered /usr/lib/python3.10/site-packages/numpy/lib/nanfunctions.py:552: ValueError ____ test_cf_datetime_nan[num_dates1-days since 2000-01-01-expected_list1] _____ num_dates = array([nan, 0.]), units = 'days since 2000-01-01' calendar = 'standard', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: > dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ flat_num_dates = array([nan, 0.]), units = 'days since 2000-01-01' calendar = 'standard' def _decode_datetime_with_pandas( flat_num_dates: np.ndarray, units: str, calendar: str ) -> np.ndarray: if not _is_standard_calendar(calendar): raise OutOfBoundsDatetime( "Cannot decode times from a non-standard calendar, {!r}, using " "pandas.".format(calendar) ) delta, ref_date = _unpack_netcdf_time_units(units) delta = _netcdf_to_numpy_timeunit(delta) try: ref_date = pd.Timestamp(ref_date) except ValueError: # ValueError is raised by pd.Timestamp for non-ISO timestamp # strings, in which case we fall back to using cftime raise OutOfBoundsDatetime with warnings.catch_warnings(): warnings.filterwarnings("ignore", "invalid value encountered", RuntimeWarning) if flat_num_dates.size > 0: # avoid size 0 datetimes GH1329 pd.to_timedelta(flat_num_dates.min(), delta) + ref_date pd.to_timedelta(flat_num_dates.max(), delta) + ref_date # To avoid integer overflow when converting to nanosecond units for integer # dtypes smaller than np.int64 cast all integer and unsigned integer dtype # arrays to np.int64 (GH 2002, GH 6589). Note this is safe even in the case # of np.uint64 values, because any np.uint64 value that would lead to # overflow when converting to np.int64 would not be representable with a # timedelta64 value, and therefore would raise an error in the lines above. if flat_num_dates.dtype.kind in "iu": flat_num_dates = flat_num_dates.astype(np.int64) # Cast input ordinals to integers of nanoseconds because pd.to_timedelta # works much faster when dealing with integers (GH 1399). flat_num_dates_ns_int = (flat_num_dates * _NS_PER_TIME_DELTA[delta]).astype( np.int64 ) # Use pd.to_timedelta to safely cast integer values to timedeltas, # and add those to a Timestamp to safely produce a DatetimeIndex. This # ensures that we do not encounter integer overflow at any point in the # process without raising OutOfBoundsDatetime. > return (pd.to_timedelta(flat_num_dates_ns_int, "ns") + ref_date).values /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['106751 days 23:47:16.854775807', '0 days 00:00:00'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['106751 days 23:47:16.854775807', '0 days 00:00:00'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): > return self._arith_method(other, operator.add) /usr/lib/python3.10/site-packages/pandas/core/arraylike.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['106751 days 23:47:16.854775807', '0 days 00:00:00'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): if ( isinstance(other, Index) and is_object_dtype(other.dtype) and type(other) is not Index ): # We return NotImplemented for object-dtype index *subclasses* so they have # a chance to implement ops before we unwrap them. # See https://github.com/pandas-dev/pandas/issues/31109 return NotImplemented > return super()._arith_method(other, op) /usr/lib/python3.10/site-packages/pandas/core/indexes/base.py:6717: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['106751 days 23:47:16.854775807', '0 days 00:00:00'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): res_name = ops.get_op_result_name(self, other) lvalues = self._values rvalues = extract_array(other, extract_numpy=True, extract_range=True) rvalues = ops.maybe_prepare_scalar_for_op(rvalues, lvalues.shape) rvalues = ensure_wrapped_if_datetimelike(rvalues) with np.errstate(all="ignore"): > result = ops.arithmetic_op(lvalues, rvalues, op) /usr/lib/python3.10/site-packages/pandas/core/base.py:1295: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = ['106751 days 23:47:16.854775807', '0 days 00:00:00'] Length: 2, dtype: timedelta64[ns] right = Timestamp('2000-01-01 00:00:00'), op = def arithmetic_op(left: ArrayLike, right: Any, op): """ Evaluate an arithmetic operation `+`, `-`, `*`, `/`, `//`, `%`, `**`, ... Note: the caller is responsible for ensuring that numpy warnings are suppressed (with np.errstate(all="ignore")) if needed. Parameters ---------- left : np.ndarray or ExtensionArray right : object Cannot be a DataFrame or Index. Series is *not* excluded. op : {operator.add, operator.sub, ...} Or one of the reversed variants from roperator. Returns ------- ndarray or ExtensionArray Or a 2-tuple of these in the case of divmod or rdivmod. """ # NB: We assume that extract_array and ensure_wrapped_if_datetimelike # have already been called on `left` and `right`, # and `maybe_prepare_scalar_for_op` has already been called on `right` # We need to special-case datetime64/timedelta64 dtypes (e.g. because numpy # casts integer dtypes to timedelta64 when operating with timedelta64 - GH#22390) if ( should_extension_dispatch(left, right) or isinstance(right, (Timedelta, BaseOffset, Timestamp)) or right is NaT ): # Timedelta/Timestamp and other custom scalars are included in the check # because numexpr will fail on it, see GH#31457 > res_values = op(left, right) /usr/lib/python3.10/site-packages/pandas/core/ops/array_ops.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['106751 days 23:47:16.854775807', '0 days 00:00:00'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['106751 days 23:47:16.854775807', '0 days 00:00:00'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): other_dtype = getattr(other, "dtype", None) # scalar others if other is NaT: result = self._add_nat() elif isinstance(other, (Tick, timedelta, np.timedelta64)): result = self._add_timedeltalike_scalar(other) elif isinstance(other, BaseOffset): # specifically _not_ a Tick result = self._add_offset(other) elif isinstance(other, (datetime, np.datetime64)): > result = self._add_datetimelike_scalar(other) /usr/lib/python3.10/site-packages/pandas/core/arrays/datetimelike.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['106751 days 23:47:16.854775807', '0 days 00:00:00'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') def _add_datetimelike_scalar(self, other) -> DatetimeArray: # adding a timedeltaindex to a datetimelike from pandas.core.arrays import DatetimeArray assert other is not NaT other = Timestamp(other) if other is NaT: # In this case we specifically interpret NaT as a datetime, not # the timedelta interpretation we would get by returning self + NaT result = self.asi8.view("m8[ms]") + NaT.to_datetime64() return DatetimeArray(result) i8 = self.asi8 > result = checked_add_with_arr(i8, other.value, arr_mask=self._isnan) /usr/lib/python3.10/site-packages/pandas/core/arrays/timedeltas.py:482: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ arr = array([9223372036854775807, 0]), b = 946684800000000000 arr_mask = array([False, False]), b_mask = None def checked_add_with_arr( arr: np.ndarray, b, arr_mask: npt.NDArray[np.bool_] | None = None, b_mask: npt.NDArray[np.bool_] | None = None, ) -> np.ndarray: """ Perform array addition that checks for underflow and overflow. Performs the addition of an int64 array and an int64 integer (or array) but checks that they do not result in overflow first. For elements that are indicated to be NaN, whether or not there is overflow for that element is automatically ignored. Parameters ---------- arr : array addend. b : array or scalar addend. arr_mask : np.ndarray[bool] or None, default None array indicating which elements to exclude from checking b_mask : np.ndarray[bool] or None, default None array or scalar indicating which element(s) to exclude from checking Returns ------- sum : An array for elements x + b for each element x in arr if b is a scalar or an array for elements x + y for each element pair (x, y) in (arr, b). Raises ------ OverflowError if any x + y exceeds the maximum or minimum int64 value. """ # For performance reasons, we broadcast 'b' to the new array 'b2' # so that it has the same size as 'arr'. b2 = np.broadcast_to(b, arr.shape) if b_mask is not None: # We do the same broadcasting for b_mask as well. b2_mask = np.broadcast_to(b_mask, arr.shape) else: b2_mask = None # For elements that are NaN, regardless of their value, we should # ignore whether they overflow or not when doing the checked add. if arr_mask is not None and b2_mask is not None: not_nan = np.logical_not(arr_mask | b2_mask) elif arr_mask is not None: not_nan = np.logical_not(arr_mask) elif b_mask is not None: # Argument 1 to "__call__" of "_UFunc_Nin1_Nout1" has incompatible type # "Optional[ndarray[Any, dtype[bool_]]]"; expected # "Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[An # y]]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, # int, float, complex, str, bytes]]]" [arg-type] not_nan = np.logical_not(b2_mask) # type: ignore[arg-type] else: not_nan = np.empty(arr.shape, dtype=bool) not_nan.fill(True) # gh-14324: For each element in 'arr' and its corresponding element # in 'b2', we check the sign of the element in 'b2'. If it is positive, # we then check whether its sum with the element in 'arr' exceeds # np.iinfo(np.int64).max. If so, we have an overflow error. If it # it is negative, we then check whether its sum with the element in # 'arr' exceeds np.iinfo(np.int64).min. If so, we have an overflow # error as well. i8max = lib.i8max i8min = iNaT mask1 = b2 > 0 mask2 = b2 < 0 if not mask1.any(): to_raise = ((i8min - b2 > arr) & not_nan).any() elif not mask2.any(): to_raise = ((i8max - b2 < arr) & not_nan).any() else: to_raise = ((i8max - b2[mask1] < arr[mask1]) & not_nan[mask1]).any() or ( (i8min - b2[mask2] > arr[mask2]) & not_nan[mask2] ).any() if to_raise: > raise OverflowError("Overflow in int64 addition") E OverflowError: Overflow in int64 addition /usr/lib/python3.10/site-packages/pandas/core/algorithms.py:1114: OverflowError During handling of the above exception, another exception occurred: times = array([cftime.DatetimeGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=False), cftime.DatetimeGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=False)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). > dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E ValueError: year 294277 is out of range pandas/_libs/tslibs/timestamps.pyx:1374: ValueError During handling of the above exception, another exception occurred: num_dates = [nan, 0], units = 'days since 2000-01-01' expected_list = ['NaT', '2000-01-01T00:00:00Z'] @arm_xfail @requires_cftime @pytest.mark.parametrize( ["num_dates", "units", "expected_list"], [ ([np.nan], "days since 2000-01-01", ["NaT"]), ([np.nan, 0], "days since 2000-01-01", ["NaT", "2000-01-01T00:00:00Z"]), ( [np.nan, 0, 1], "days since 2000-01-01", ["NaT", "2000-01-01T00:00:00Z", "2000-01-02T00:00:00Z"], ), ], ) def test_cf_datetime_nan(num_dates, units, expected_list) -> None: with warnings.catch_warnings(): warnings.filterwarnings("ignore", "All-NaN") > actual = coding.times.decode_cf_datetime(num_dates, units) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_coding_times.py:494: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:306: in decode_cf_datetime dates = cftime_to_nptime(dates) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ times = array([cftime.DatetimeGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=False), cftime.DatetimeGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=False)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) except ValueError as e: if raise_on_invalid: > raise ValueError( "Cannot convert date {} to a date in the " "standard calendar. Reason: {}.".format(t, e) ) E ValueError: Cannot convert date 294277-01-09 04:00:54 to a date in the standard calendar. Reason: year 294277 is out of range. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:453: ValueError ____ test_cf_datetime_nan[num_dates2-days since 2000-01-01-expected_list2] _____ num_dates = array([nan, 0., 1.]), units = 'days since 2000-01-01' calendar = 'standard', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: > dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ flat_num_dates = array([nan, 0., 1.]), units = 'days since 2000-01-01' calendar = 'standard' def _decode_datetime_with_pandas( flat_num_dates: np.ndarray, units: str, calendar: str ) -> np.ndarray: if not _is_standard_calendar(calendar): raise OutOfBoundsDatetime( "Cannot decode times from a non-standard calendar, {!r}, using " "pandas.".format(calendar) ) delta, ref_date = _unpack_netcdf_time_units(units) delta = _netcdf_to_numpy_timeunit(delta) try: ref_date = pd.Timestamp(ref_date) except ValueError: # ValueError is raised by pd.Timestamp for non-ISO timestamp # strings, in which case we fall back to using cftime raise OutOfBoundsDatetime with warnings.catch_warnings(): warnings.filterwarnings("ignore", "invalid value encountered", RuntimeWarning) if flat_num_dates.size > 0: # avoid size 0 datetimes GH1329 pd.to_timedelta(flat_num_dates.min(), delta) + ref_date pd.to_timedelta(flat_num_dates.max(), delta) + ref_date # To avoid integer overflow when converting to nanosecond units for integer # dtypes smaller than np.int64 cast all integer and unsigned integer dtype # arrays to np.int64 (GH 2002, GH 6589). Note this is safe even in the case # of np.uint64 values, because any np.uint64 value that would lead to # overflow when converting to np.int64 would not be representable with a # timedelta64 value, and therefore would raise an error in the lines above. if flat_num_dates.dtype.kind in "iu": flat_num_dates = flat_num_dates.astype(np.int64) # Cast input ordinals to integers of nanoseconds because pd.to_timedelta # works much faster when dealing with integers (GH 1399). flat_num_dates_ns_int = (flat_num_dates * _NS_PER_TIME_DELTA[delta]).astype( np.int64 ) # Use pd.to_timedelta to safely cast integer values to timedeltas, # and add those to a Timestamp to safely produce a DatetimeIndex. This # ensures that we do not encounter integer overflow at any point in the # process without raising OutOfBoundsDatetime. > return (pd.to_timedelta(flat_num_dates_ns_int, "ns") + ref_date).values /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['106751 days 23:47:16.854775807', '0 days 00:00:00', '1 days 00:00:00'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['106751 days 23:47:16.854775807', '0 days 00:00:00', '1 days 00:00:00'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): > return self._arith_method(other, operator.add) /usr/lib/python3.10/site-packages/pandas/core/arraylike.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['106751 days 23:47:16.854775807', '0 days 00:00:00', '1 days 00:00:00'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): if ( isinstance(other, Index) and is_object_dtype(other.dtype) and type(other) is not Index ): # We return NotImplemented for object-dtype index *subclasses* so they have # a chance to implement ops before we unwrap them. # See https://github.com/pandas-dev/pandas/issues/31109 return NotImplemented > return super()._arith_method(other, op) /usr/lib/python3.10/site-packages/pandas/core/indexes/base.py:6717: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['106751 days 23:47:16.854775807', '0 days 00:00:00', '1 days 00:00:00'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): res_name = ops.get_op_result_name(self, other) lvalues = self._values rvalues = extract_array(other, extract_numpy=True, extract_range=True) rvalues = ops.maybe_prepare_scalar_for_op(rvalues, lvalues.shape) rvalues = ensure_wrapped_if_datetimelike(rvalues) with np.errstate(all="ignore"): > result = ops.arithmetic_op(lvalues, rvalues, op) /usr/lib/python3.10/site-packages/pandas/core/base.py:1295: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = ['106751 days 23:47:16.854775807', '0 days 00:00:00', '1 days 00:00:00'] Length: 3, dtype: timedelta64[ns] right = Timestamp('2000-01-01 00:00:00'), op = def arithmetic_op(left: ArrayLike, right: Any, op): """ Evaluate an arithmetic operation `+`, `-`, `*`, `/`, `//`, `%`, `**`, ... Note: the caller is responsible for ensuring that numpy warnings are suppressed (with np.errstate(all="ignore")) if needed. Parameters ---------- left : np.ndarray or ExtensionArray right : object Cannot be a DataFrame or Index. Series is *not* excluded. op : {operator.add, operator.sub, ...} Or one of the reversed variants from roperator. Returns ------- ndarray or ExtensionArray Or a 2-tuple of these in the case of divmod or rdivmod. """ # NB: We assume that extract_array and ensure_wrapped_if_datetimelike # have already been called on `left` and `right`, # and `maybe_prepare_scalar_for_op` has already been called on `right` # We need to special-case datetime64/timedelta64 dtypes (e.g. because numpy # casts integer dtypes to timedelta64 when operating with timedelta64 - GH#22390) if ( should_extension_dispatch(left, right) or isinstance(right, (Timedelta, BaseOffset, Timestamp)) or right is NaT ): # Timedelta/Timestamp and other custom scalars are included in the check # because numexpr will fail on it, see GH#31457 > res_values = op(left, right) /usr/lib/python3.10/site-packages/pandas/core/ops/array_ops.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['106751 days 23:47:16.854775807', '0 days 00:00:00', '1 days 00:00:00'] Length: 3, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['106751 days 23:47:16.854775807', '0 days 00:00:00', '1 days 00:00:00'] Length: 3, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): other_dtype = getattr(other, "dtype", None) # scalar others if other is NaT: result = self._add_nat() elif isinstance(other, (Tick, timedelta, np.timedelta64)): result = self._add_timedeltalike_scalar(other) elif isinstance(other, BaseOffset): # specifically _not_ a Tick result = self._add_offset(other) elif isinstance(other, (datetime, np.datetime64)): > result = self._add_datetimelike_scalar(other) /usr/lib/python3.10/site-packages/pandas/core/arrays/datetimelike.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['106751 days 23:47:16.854775807', '0 days 00:00:00', '1 days 00:00:00'] Length: 3, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') def _add_datetimelike_scalar(self, other) -> DatetimeArray: # adding a timedeltaindex to a datetimelike from pandas.core.arrays import DatetimeArray assert other is not NaT other = Timestamp(other) if other is NaT: # In this case we specifically interpret NaT as a datetime, not # the timedelta interpretation we would get by returning self + NaT result = self.asi8.view("m8[ms]") + NaT.to_datetime64() return DatetimeArray(result) i8 = self.asi8 > result = checked_add_with_arr(i8, other.value, arr_mask=self._isnan) /usr/lib/python3.10/site-packages/pandas/core/arrays/timedeltas.py:482: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ arr = array([9223372036854775807, 0, 86400000000000]) b = 946684800000000000, arr_mask = array([False, False, False]), b_mask = None def checked_add_with_arr( arr: np.ndarray, b, arr_mask: npt.NDArray[np.bool_] | None = None, b_mask: npt.NDArray[np.bool_] | None = None, ) -> np.ndarray: """ Perform array addition that checks for underflow and overflow. Performs the addition of an int64 array and an int64 integer (or array) but checks that they do not result in overflow first. For elements that are indicated to be NaN, whether or not there is overflow for that element is automatically ignored. Parameters ---------- arr : array addend. b : array or scalar addend. arr_mask : np.ndarray[bool] or None, default None array indicating which elements to exclude from checking b_mask : np.ndarray[bool] or None, default None array or scalar indicating which element(s) to exclude from checking Returns ------- sum : An array for elements x + b for each element x in arr if b is a scalar or an array for elements x + y for each element pair (x, y) in (arr, b). Raises ------ OverflowError if any x + y exceeds the maximum or minimum int64 value. """ # For performance reasons, we broadcast 'b' to the new array 'b2' # so that it has the same size as 'arr'. b2 = np.broadcast_to(b, arr.shape) if b_mask is not None: # We do the same broadcasting for b_mask as well. b2_mask = np.broadcast_to(b_mask, arr.shape) else: b2_mask = None # For elements that are NaN, regardless of their value, we should # ignore whether they overflow or not when doing the checked add. if arr_mask is not None and b2_mask is not None: not_nan = np.logical_not(arr_mask | b2_mask) elif arr_mask is not None: not_nan = np.logical_not(arr_mask) elif b_mask is not None: # Argument 1 to "__call__" of "_UFunc_Nin1_Nout1" has incompatible type # "Optional[ndarray[Any, dtype[bool_]]]"; expected # "Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[An # y]]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, # int, float, complex, str, bytes]]]" [arg-type] not_nan = np.logical_not(b2_mask) # type: ignore[arg-type] else: not_nan = np.empty(arr.shape, dtype=bool) not_nan.fill(True) # gh-14324: For each element in 'arr' and its corresponding element # in 'b2', we check the sign of the element in 'b2'. If it is positive, # we then check whether its sum with the element in 'arr' exceeds # np.iinfo(np.int64).max. If so, we have an overflow error. If it # it is negative, we then check whether its sum with the element in # 'arr' exceeds np.iinfo(np.int64).min. If so, we have an overflow # error as well. i8max = lib.i8max i8min = iNaT mask1 = b2 > 0 mask2 = b2 < 0 if not mask1.any(): to_raise = ((i8min - b2 > arr) & not_nan).any() elif not mask2.any(): to_raise = ((i8max - b2 < arr) & not_nan).any() else: to_raise = ((i8max - b2[mask1] < arr[mask1]) & not_nan[mask1]).any() or ( (i8min - b2[mask2] > arr[mask2]) & not_nan[mask2] ).any() if to_raise: > raise OverflowError("Overflow in int64 addition") E OverflowError: Overflow in int64 addition /usr/lib/python3.10/site-packages/pandas/core/algorithms.py:1114: OverflowError During handling of the above exception, another exception occurred: times = array([cftime.DatetimeGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=False), cftime.DatetimeGregorian(...as_year_zero=False), cftime.DatetimeGregorian(2000, 1, 2, 0, 0, 0, 0, has_year_zero=False)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). > dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E ValueError: year 294277 is out of range pandas/_libs/tslibs/timestamps.pyx:1374: ValueError During handling of the above exception, another exception occurred: num_dates = [nan, 0, 1], units = 'days since 2000-01-01' expected_list = ['NaT', '2000-01-01T00:00:00Z', '2000-01-02T00:00:00Z'] @arm_xfail @requires_cftime @pytest.mark.parametrize( ["num_dates", "units", "expected_list"], [ ([np.nan], "days since 2000-01-01", ["NaT"]), ([np.nan, 0], "days since 2000-01-01", ["NaT", "2000-01-01T00:00:00Z"]), ( [np.nan, 0, 1], "days since 2000-01-01", ["NaT", "2000-01-01T00:00:00Z", "2000-01-02T00:00:00Z"], ), ], ) def test_cf_datetime_nan(num_dates, units, expected_list) -> None: with warnings.catch_warnings(): warnings.filterwarnings("ignore", "All-NaN") > actual = coding.times.decode_cf_datetime(num_dates, units) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_coding_times.py:494: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:306: in decode_cf_datetime dates = cftime_to_nptime(dates) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ times = array([cftime.DatetimeGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=False), cftime.DatetimeGregorian(...as_year_zero=False), cftime.DatetimeGregorian(2000, 1, 2, 0, 0, 0, 0, has_year_zero=False)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) except ValueError as e: if raise_on_invalid: > raise ValueError( "Cannot convert date {} to a date in the " "standard calendar. Reason: {}.".format(t, e) ) E ValueError: Cannot convert date 294277-01-09 04:00:54 to a date in the standard calendar. Reason: year 294277 is out of range. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:453: ValueError __________ TestCFEncodedDataStore.test_roundtrip_numpy_datetime_data ___________ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: > dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ flat_num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian' def _decode_datetime_with_pandas( flat_num_dates: np.ndarray, units: str, calendar: str ) -> np.ndarray: if not _is_standard_calendar(calendar): raise OutOfBoundsDatetime( "Cannot decode times from a non-standard calendar, {!r}, using " "pandas.".format(calendar) ) delta, ref_date = _unpack_netcdf_time_units(units) delta = _netcdf_to_numpy_timeunit(delta) try: ref_date = pd.Timestamp(ref_date) except ValueError: # ValueError is raised by pd.Timestamp for non-ISO timestamp # strings, in which case we fall back to using cftime raise OutOfBoundsDatetime with warnings.catch_warnings(): warnings.filterwarnings("ignore", "invalid value encountered", RuntimeWarning) if flat_num_dates.size > 0: # avoid size 0 datetimes GH1329 pd.to_timedelta(flat_num_dates.min(), delta) + ref_date pd.to_timedelta(flat_num_dates.max(), delta) + ref_date # To avoid integer overflow when converting to nanosecond units for integer # dtypes smaller than np.int64 cast all integer and unsigned integer dtype # arrays to np.int64 (GH 2002, GH 6589). Note this is safe even in the case # of np.uint64 values, because any np.uint64 value that would lead to # overflow when converting to np.int64 would not be representable with a # timedelta64 value, and therefore would raise an error in the lines above. if flat_num_dates.dtype.kind in "iu": flat_num_dates = flat_num_dates.astype(np.int64) # Cast input ordinals to integers of nanoseconds because pd.to_timedelta # works much faster when dealing with integers (GH 1399). flat_num_dates_ns_int = (flat_num_dates * _NS_PER_TIME_DELTA[delta]).astype( np.int64 ) # Use pd.to_timedelta to safely cast integer values to timedeltas, # and add those to a Timestamp to safely produce a DatetimeIndex. This # ensures that we do not encounter integer overflow at any point in the # process without raising OutOfBoundsDatetime. > return (pd.to_timedelta(flat_num_dates_ns_int, "ns") + ref_date).values /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): > return self._arith_method(other, operator.add) /usr/lib/python3.10/site-packages/pandas/core/arraylike.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): if ( isinstance(other, Index) and is_object_dtype(other.dtype) and type(other) is not Index ): # We return NotImplemented for object-dtype index *subclasses* so they have # a chance to implement ops before we unwrap them. # See https://github.com/pandas-dev/pandas/issues/31109 return NotImplemented > return super()._arith_method(other, op) /usr/lib/python3.10/site-packages/pandas/core/indexes/base.py:6717: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = TimedeltaIndex(['0 days 00:00:00', '106751 days 23:47:16.854775807'], dtype='timedelta64[ns]', freq=None) other = Timestamp('2000-01-01 00:00:00'), op = def _arith_method(self, other, op): res_name = ops.get_op_result_name(self, other) lvalues = self._values rvalues = extract_array(other, extract_numpy=True, extract_range=True) rvalues = ops.maybe_prepare_scalar_for_op(rvalues, lvalues.shape) rvalues = ensure_wrapped_if_datetimelike(rvalues) with np.errstate(all="ignore"): > result = ops.arithmetic_op(lvalues, rvalues, op) /usr/lib/python3.10/site-packages/pandas/core/base.py:1295: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] right = Timestamp('2000-01-01 00:00:00'), op = def arithmetic_op(left: ArrayLike, right: Any, op): """ Evaluate an arithmetic operation `+`, `-`, `*`, `/`, `//`, `%`, `**`, ... Note: the caller is responsible for ensuring that numpy warnings are suppressed (with np.errstate(all="ignore")) if needed. Parameters ---------- left : np.ndarray or ExtensionArray right : object Cannot be a DataFrame or Index. Series is *not* excluded. op : {operator.add, operator.sub, ...} Or one of the reversed variants from roperator. Returns ------- ndarray or ExtensionArray Or a 2-tuple of these in the case of divmod or rdivmod. """ # NB: We assume that extract_array and ensure_wrapped_if_datetimelike # have already been called on `left` and `right`, # and `maybe_prepare_scalar_for_op` has already been called on `right` # We need to special-case datetime64/timedelta64 dtypes (e.g. because numpy # casts integer dtypes to timedelta64 when operating with timedelta64 - GH#22390) if ( should_extension_dispatch(left, right) or isinstance(right, (Timedelta, BaseOffset, Timestamp)) or right is NaT ): # Timedelta/Timestamp and other custom scalars are included in the check # because numexpr will fail on it, see GH#31457 > res_values = op(left, right) /usr/lib/python3.10/site-packages/pandas/core/ops/array_ops.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @wraps(method) def new_method(self, other): if is_cmp and isinstance(self, ABCIndex) and isinstance(other, ABCSeries): # For comparison ops, Index does *not* defer to Series pass else: for cls in [ABCDataFrame, ABCSeries, ABCIndex]: if isinstance(self, cls): break if isinstance(other, cls): return NotImplemented other = item_from_zerodim(other) > return method(self, other) /usr/lib/python3.10/site-packages/pandas/core/ops/common.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') @unpack_zerodim_and_defer("__add__") def __add__(self, other): other_dtype = getattr(other, "dtype", None) # scalar others if other is NaT: result = self._add_nat() elif isinstance(other, (Tick, timedelta, np.timedelta64)): result = self._add_timedeltalike_scalar(other) elif isinstance(other, BaseOffset): # specifically _not_ a Tick result = self._add_offset(other) elif isinstance(other, (datetime, np.datetime64)): > result = self._add_datetimelike_scalar(other) /usr/lib/python3.10/site-packages/pandas/core/arrays/datetimelike.py:1264: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ['0 days 00:00:00', '106751 days 23:47:16.854775807'] Length: 2, dtype: timedelta64[ns] other = Timestamp('2000-01-01 00:00:00') def _add_datetimelike_scalar(self, other) -> DatetimeArray: # adding a timedeltaindex to a datetimelike from pandas.core.arrays import DatetimeArray assert other is not NaT other = Timestamp(other) if other is NaT: # In this case we specifically interpret NaT as a datetime, not # the timedelta interpretation we would get by returning self + NaT result = self.asi8.view("m8[ms]") + NaT.to_datetime64() return DatetimeArray(result) i8 = self.asi8 > result = checked_add_with_arr(i8, other.value, arr_mask=self._isnan) /usr/lib/python3.10/site-packages/pandas/core/arrays/timedeltas.py:482: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ arr = array([ 0, 9223372036854775807]), b = 946684800000000000 arr_mask = array([False, False]), b_mask = None def checked_add_with_arr( arr: np.ndarray, b, arr_mask: npt.NDArray[np.bool_] | None = None, b_mask: npt.NDArray[np.bool_] | None = None, ) -> np.ndarray: """ Perform array addition that checks for underflow and overflow. Performs the addition of an int64 array and an int64 integer (or array) but checks that they do not result in overflow first. For elements that are indicated to be NaN, whether or not there is overflow for that element is automatically ignored. Parameters ---------- arr : array addend. b : array or scalar addend. arr_mask : np.ndarray[bool] or None, default None array indicating which elements to exclude from checking b_mask : np.ndarray[bool] or None, default None array or scalar indicating which element(s) to exclude from checking Returns ------- sum : An array for elements x + b for each element x in arr if b is a scalar or an array for elements x + y for each element pair (x, y) in (arr, b). Raises ------ OverflowError if any x + y exceeds the maximum or minimum int64 value. """ # For performance reasons, we broadcast 'b' to the new array 'b2' # so that it has the same size as 'arr'. b2 = np.broadcast_to(b, arr.shape) if b_mask is not None: # We do the same broadcasting for b_mask as well. b2_mask = np.broadcast_to(b_mask, arr.shape) else: b2_mask = None # For elements that are NaN, regardless of their value, we should # ignore whether they overflow or not when doing the checked add. if arr_mask is not None and b2_mask is not None: not_nan = np.logical_not(arr_mask | b2_mask) elif arr_mask is not None: not_nan = np.logical_not(arr_mask) elif b_mask is not None: # Argument 1 to "__call__" of "_UFunc_Nin1_Nout1" has incompatible type # "Optional[ndarray[Any, dtype[bool_]]]"; expected # "Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[An # y]]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, # int, float, complex, str, bytes]]]" [arg-type] not_nan = np.logical_not(b2_mask) # type: ignore[arg-type] else: not_nan = np.empty(arr.shape, dtype=bool) not_nan.fill(True) # gh-14324: For each element in 'arr' and its corresponding element # in 'b2', we check the sign of the element in 'b2'. If it is positive, # we then check whether its sum with the element in 'arr' exceeds # np.iinfo(np.int64).max. If so, we have an overflow error. If it # it is negative, we then check whether its sum with the element in # 'arr' exceeds np.iinfo(np.int64).min. If so, we have an overflow # error as well. i8max = lib.i8max i8min = iNaT mask1 = b2 > 0 mask2 = b2 < 0 if not mask1.any(): to_raise = ((i8min - b2 > arr) & not_nan).any() elif not mask2.any(): to_raise = ((i8max - b2 < arr) & not_nan).any() else: to_raise = ((i8max - b2[mask1] < arr[mask1]) & not_nan[mask1]).any() or ( (i8min - b2[mask2] > arr[mask2]) & not_nan[mask2] ).any() if to_raise: > raise OverflowError("Overflow in int64 addition") E OverflowError: Overflow in int64 addition /usr/lib/python3.10/site-packages/pandas/core/algorithms.py:1114: OverflowError During handling of the above exception, another exception occurred: times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). > dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:448: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E ValueError: year 294277 is out of range pandas/_libs/tslibs/timestamps.pyx:1374: ValueError During handling of the above exception, another exception occurred: data = array([ 0., 1., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: > result = decode_cf_datetime(example_value, units, calendar, use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ num_dates = array([ 0., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def decode_cf_datetime( num_dates, units: str, calendar: str | None = None, use_cftime: bool | None = None ) -> np.ndarray: """Given an array of numeric dates in netCDF format, convert it into a numpy array of date time objects. For standard (Gregorian) calendars, this function uses vectorized operations, which makes it much faster than cftime.num2date. In such a case, the returned array will be of type np.datetime64. Note that time unit in `units` must not be smaller than microseconds and not larger than days. See Also -------- cftime.num2date """ num_dates = np.asarray(num_dates) flat_num_dates = num_dates.ravel() if calendar is None: calendar = "standard" if use_cftime is None: try: dates = _decode_datetime_with_pandas(flat_num_dates, units, calendar) except (KeyError, OutOfBoundsDatetime, OutOfBoundsTimedelta, OverflowError): dates = _decode_datetime_with_cftime( flat_num_dates.astype(float), units, calendar ) if ( dates[np.nanargmin(num_dates)].year < 1678 or dates[np.nanargmax(num_dates)].year >= 2262 ): if _is_standard_calendar(calendar): warnings.warn( "Unable to decode time axis into full " "numpy.datetime64 objects, continuing using " "cftime.datetime objects instead, reason: dates out " "of range", SerializationWarning, stacklevel=3, ) else: if _is_standard_calendar(calendar): > dates = cftime_to_nptime(dates) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ times = array([cftime.DatetimeProlepticGregorian(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True), cftime.DatetimeProlepticGregorian(294277, 1, 9, 4, 0, 54, 775807, has_year_zero=True)], dtype=object) raise_on_invalid = True def cftime_to_nptime(times, raise_on_invalid: bool = True) -> np.ndarray: """Given an array of cftime.datetime objects, return an array of numpy.datetime64 objects of the same size If raise_on_invalid is True (default), invalid dates trigger a ValueError. Otherwise, the invalid element is replaced by np.NaT.""" times = np.asarray(times) new = np.empty(times.shape, dtype="M8[ns]") for i, t in np.ndenumerate(times): try: # Use pandas.Timestamp in place of datetime.datetime, because # NumPy casts it safely it np.datetime64[ns] for dates outside # 1678 to 2262 (this is not currently the case for # datetime.datetime). dt = pd.Timestamp( t.year, t.month, t.day, t.hour, t.minute, t.second, t.microsecond ) except ValueError as e: if raise_on_invalid: > raise ValueError( "Cannot convert date {} to a date in the " "standard calendar. Reason: {}.".format(t, e) ) E ValueError: Cannot convert date 294277-01-09 04:00:54 to a date in the standard calendar. Reason: year 294277 is out of range. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:453: ValueError During handling of the above exception, another exception occurred: variables = Frozen({'t': array([ 0., 1., nan]) Attributes: units: days since 2000-01-01 00:00:... array(18262) Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: > new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:551: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 't' var = array([ 0., 1., nan]) Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian concat_characters = True, mask_and_scale = True, decode_times = True decode_endianness = True, stack_char_dim = False, use_cftime = None decode_timedelta = True def decode_cf_variable( name: Hashable, var: Variable, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_endianness: bool = True, stack_char_dim: bool = True, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> Variable: """ Decodes a variable which may hold CF encoded information. This includes variables that have been masked and scaled, which hold CF style time variables (this is almost always the case if the dataset has been serialized) and which have strings encoded as character arrays. Parameters ---------- name : str Name of the variable. Used for better error messages. var : Variable A variable holding potentially CF encoded information. concat_characters : bool Should character arrays be concatenated to strings, for example: ["h", "e", "l", "l", "o"] -> "hello" mask_and_scale : bool Lazily scale (using scale_factor and add_offset) and mask (using _FillValue). If the _Unsigned attribute is present treat integer arrays as unsigned. decode_times : bool Decode cf times ("hours since 2000-01-01") to np.datetime64. decode_endianness : bool Decode arrays from non-native to native endianness. stack_char_dim : bool Whether to stack characters into bytes along the last dimension of this array. Passed as an argument because we need to look at the full dataset to figure out if this is appropriate. use_cftime : bool, optional Only relevant if encoded dates come from a standard calendar (e.g. "gregorian", "proleptic_gregorian", "standard", or not specified). If None (default), attempt to decode times to ``np.datetime64[ns]`` objects; if this is not possible, decode times to ``cftime.datetime`` objects. If True, always decode times to ``cftime.datetime`` objects, regardless of whether or not they can be represented using ``np.datetime64[ns]`` objects. If False, always decode times to ``np.datetime64[ns]`` objects; if this is not possible raise an error. Returns ------- out : Variable A variable holding the decoded equivalent of var. """ # Ensure datetime-like Variables are passed through unmodified (GH 6453) if _contains_datetime_like_objects(var): return var original_dtype = var.dtype if decode_timedelta is None: decode_timedelta = decode_times if concat_characters: if stack_char_dim: var = strings.CharacterArrayCoder().decode(var, name=name) var = strings.EncodedStringCoder().decode(var) if mask_and_scale: for coder in [ variables.UnsignedIntegerCoder(), variables.CFMaskCoder(), variables.CFScaleOffsetCoder(), ]: var = coder.decode(var, name=name) if decode_timedelta: var = times.CFTimedeltaCoder().decode(var, name=name) if decode_times: > var = times.CFDatetimeCoder(use_cftime=use_cftime).decode(var, name=name) /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:397: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = variable = array([ 0., 1., nan]) Attributes: units: days since 2000-01-01 00:00:00 calendar: proleptic_gregorian name = 't' def decode(self, variable: Variable, name: T_Name = None) -> Variable: units = variable.attrs.get("units", None) if isinstance(units, str) and "since" in units: dims, data, attrs, encoding = unpack_for_decoding(variable) units = pop_to(attrs, encoding, "units") calendar = pop_to(attrs, encoding, "calendar") > dtype = _decode_cf_datetime_dtype(data, units, calendar, self.use_cftime) /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = array([ 0., 1., nan]), units = 'days since 2000-01-01 00:00:00' calendar = 'proleptic_gregorian', use_cftime = None def _decode_cf_datetime_dtype( data, units: str, calendar: str, use_cftime: bool | None ) -> np.dtype: # Verify that at least the first and last date can be decoded # successfully. Otherwise, tracebacks end up swallowed by # Dataset.__repr__ when users try to view their lazily decoded array. values = indexing.ImplicitToExplicitIndexingAdapter(indexing.as_indexable(data)) example_value = np.concatenate( [first_n_items(values, 1) or [0], last_item(values) or [0]] ) try: result = decode_cf_datetime(example_value, units, calendar, use_cftime) except Exception: calendar_msg = ( "the default calendar" if calendar is None else f"calendar {calendar!r}" ) msg = ( f"unable to decode time units {units!r} with {calendar_msg!r}. Try " "opening your dataset with decode_times=False or installing cftime " "if it is not installed." ) > raise ValueError(msg) E ValueError: unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:194: ValueError During handling of the above exception, another exception occurred: self = @arm_xfail def test_roundtrip_numpy_datetime_data(self) -> None: times = pd.to_datetime(["2000-01-01", "2000-01-02", "NaT"]) expected = Dataset({"t": ("t", times), "t0": times[0]}) kwargs = {"encoding": {"t0": {"units": "days since 1950-01-01"}}} > with self.roundtrip(expected, save_kwargs=kwargs) as actual: /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_backends.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.10/contextlib.py:135: in __enter__ return next(self.gen) /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_conventions.py:427: in roundtrip yield open_dataset(store, **open_kwargs) /build/python-xarray/src/xarray-2023.01.0/xarray/backends/api.py:541: in open_dataset backend_ds = backend.open_dataset( /build/python-xarray/src/xarray-2023.01.0/xarray/backends/store.py:35: in open_dataset vars, attrs, coord_names = conventions.decode_cf_variables( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ variables = Frozen({'t': array([ 0., 1., nan]) Attributes: units: days since 2000-01-01 00:00:... array(18262) Attributes: units: days since 1950-01-01 calendar: proleptic_gregorian}) attributes = Frozen({}), concat_characters = True, mask_and_scale = True decode_times = True, decode_coords = True, drop_variables = set() use_cftime = None, decode_timedelta = None def decode_cf_variables( variables: T_Variables, attributes: T_Attrs, concat_characters: bool = True, mask_and_scale: bool = True, decode_times: bool = True, decode_coords: bool = True, drop_variables: T_DropVariables = None, use_cftime: bool | None = None, decode_timedelta: bool | None = None, ) -> tuple[T_Variables, T_Attrs, set[Hashable]]: """ Decode several CF encoded variables. See: decode_cf_variable """ dimensions_used_by = defaultdict(list) for v in variables.values(): for d in v.dims: dimensions_used_by[d].append(v) def stackable(dim: Hashable) -> bool: # figure out if a dimension can be concatenated over if dim in variables: return False for v in dimensions_used_by[dim]: if v.dtype.kind != "S" or dim != v.dims[-1]: return False return True coord_names = set() if isinstance(drop_variables, str): drop_variables = [drop_variables] elif drop_variables is None: drop_variables = [] drop_variables = set(drop_variables) # Time bounds coordinates might miss the decoding attributes if decode_times: _update_bounds_attributes(variables) new_vars = {} for k, v in variables.items(): if k in drop_variables: continue stack_char_dim = ( concat_characters and v.dtype == "S1" and v.ndim > 0 and stackable(v.dims[-1]) ) try: new_vars[k] = decode_cf_variable( k, v, concat_characters=concat_characters, mask_and_scale=mask_and_scale, decode_times=decode_times, stack_char_dim=stack_char_dim, use_cftime=use_cftime, decode_timedelta=decode_timedelta, ) except Exception as e: > raise type(e)(f"Failed to decode variable {k!r}: {e}") E ValueError: Failed to decode variable 't': unable to decode time units 'days since 2000-01-01 00:00:00' with "calendar 'proleptic_gregorian'". Try opening your dataset with decode_times=False or installing cftime if it is not installed. /build/python-xarray/src/xarray-2023.01.0/xarray/conventions.py:562: ValueError =============================== warnings summary =============================== xarray/tests/test_array_api.py::test_astype xarray/tests/test_dataset.py::TestDataset::test_unary_ops /build/python-xarray/src/xarray-2023.01.0/xarray/core/duck_array_ops.py:187: RuntimeWarning: invalid value encountered in cast return data.astype(dtype, **kwargs) xarray/tests/test_array_api.py::test_astype /usr/lib/python3.10/site-packages/numpy/array_api/_data_type_functions.py:20: RuntimeWarning: invalid value encountered in cast return Array._new(x._array.astype(dtype=dtype, copy=copy)) xarray/tests/test_backends.py: 16 warnings xarray/tests/test_coding_times.py: 3 warnings xarray/tests/test_conventions.py: 2 warnings /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:613: RuntimeWarning: invalid value encountered in cast int_num = np.asarray(num, dtype=np.int64) xarray/tests/test_backends.py: 8 warnings xarray/tests/test_coding_times.py: 3 warnings xarray/tests/test_conventions.py: 1 warning /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:250: RuntimeWarning: invalid value encountered in cast flat_num_dates_ns_int = (flat_num_dates * _NS_PER_TIME_DELTA[delta]).astype( xarray/tests/test_backends.py: 8 warnings xarray/tests/test_coding_times.py: 3 warnings xarray/tests/test_conventions.py: 1 warning /build/python-xarray/src/xarray-2023.01.0/xarray/coding/times.py:208: RuntimeWarning: invalid value encountered in cast cftime.num2date(num_dates, units, calendar, only_use_cftime_datetimes=True) xarray/tests/test_backends.py: 8 warnings xarray/tests/test_coding_times.py: 10 warnings xarray/tests/test_conventions.py: 1 warning /usr/lib/python3.10/site-packages/pandas/core/arrays/timedeltas.py:1014: RuntimeWarning: invalid value encountered in cast base = data.astype(np.int64) xarray/tests/test_backends.py: 8 warnings xarray/tests/test_coding_times.py: 10 warnings xarray/tests/test_conventions.py: 1 warning /usr/lib/python3.10/site-packages/pandas/core/arrays/timedeltas.py:1018: RuntimeWarning: invalid value encountered in cast data = (base * m + (frac * m).astype(np.int64)).view("timedelta64[ns]") xarray/tests/test_backends.py: 24 warnings xarray/tests/test_conventions.py: 3 warnings /build/python-xarray/src/xarray-2023.01.0/xarray/coding/variables.py:172: DeprecationWarning: NumPy will stop allowing conversion of out-of-bound Python integers to integer arrays. The conversion of 255 to int8 will fail in the future. For the old behavior, usually: np.array(value).astype(dtype)` will give the desired result (the cast overflows). encoding["_FillValue"] = dtype.type(fv) xarray/tests/test_backends.py::TestDask::test_inline_array /usr/lib/python3.10/site-packages/_pytest/python.py:195: RuntimeWarning: deallocating CachingFileManager(, '/tmp/tmppnrqlsp4/temp-1367.nc', mode='r', kwargs={'clobber': True, 'diskless': False, 'persist': False, 'format': 'NETCDF4'}, manager_id='40a8aa95-f2d2-46a5-8292-33ed5287826b'), but file is not already closed. This may indicate a bug. result = testfunction(**testargs) xarray/tests/test_backends.py::TestDask::test_inline_array /usr/lib/python3.10/site-packages/_pytest/python.py:195: RuntimeWarning: deallocating CachingFileManager(, '/tmp/tmppnrqlsp4/temp-1367.nc', mode='r', kwargs={'clobber': True, 'diskless': False, 'persist': False, 'format': 'NETCDF4'}, manager_id='cde160a4-ff27-4e39-9ed4-27e2094efe26'), but file is not already closed. This may indicate a bug. result = testfunction(**testargs) xarray/tests/test_backends.py::TestDask::test_inline_array /usr/lib/python3.10/site-packages/_pytest/python.py:195: RuntimeWarning: deallocating CachingFileManager(, '/tmp/tmppnrqlsp4/temp-1367.nc', mode='r', kwargs={'clobber': True, 'diskless': False, 'persist': False, 'format': 'NETCDF4'}, manager_id='4550f3c9-9cb3-4601-b512-3abceb01ceca'), but file is not already closed. This may indicate a bug. result = testfunction(**testargs) xarray/tests/test_backends.py::TestDask::test_inline_array /usr/lib/python3.10/site-packages/_pytest/python.py:195: RuntimeWarning: deallocating CachingFileManager(, '/tmp/tmppnrqlsp4/temp-1367.nc', mode='r', kwargs={'clobber': True, 'diskless': False, 'persist': False, 'format': 'NETCDF4'}, manager_id='b7e6dfe0-f286-4860-8884-d34a8b2b68b5'), but file is not already closed. This may indicate a bug. result = testfunction(**testargs) xarray/tests/test_backends.py::test_pickle_open_mfdataset_dataset /usr/lib/python3.10/site-packages/_pytest/python.py:195: RuntimeWarning: deallocating CachingFileManager(, '/build/python-xarray/src/xarray-2023.01.0/xarray/tests/data/bears.nc', mode='r', kwargs={'clobber': True, 'diskless': False, 'persist': False, 'format': 'NETCDF4'}, manager_id='658ac18e-814a-4bf9-a710-deeee1477949'), but file is not already closed. This may indicate a bug. result = testfunction(**testargs) xarray/tests/test_calendar_ops.py: 14 warnings xarray/tests/test_cftime_offsets.py: 12 warnings xarray/tests/test_computation.py: 4 warnings /build/python-xarray/src/xarray-2023.01.0/xarray/coding/cftime_offsets.py:1134: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`. return pd.date_range( xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_mask_and_scale[create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data] /build/python-xarray/src/xarray-2023.01.0/xarray/coding/variables.py:330: DeprecationWarning: NumPy will stop allowing conversion of out-of-bound Python integers to integer arrays. The conversion of -1 to uint8 will fail in the future. For the old behavior, usually: np.array(value).astype(dtype)` will give the desired result (the cast overflows). new_fill = unsigned_dtype.type(attrs["_FillValue"]) xarray/tests/test_dask.py: 12 warnings xarray/tests/test_dataarray.py: 5 warnings xarray/tests/test_dataset.py: 7 warnings xarray/tests/test_groupby.py: 2 warnings xarray/tests/test_units.py: 12 warnings <__array_function__ internals>:200: RuntimeWarning: invalid value encountered in cast xarray/tests/test_dataset.py::TestDataset::test_assign_coords_existing_multiindex /build/python-xarray/src/xarray-2023.01.0/xarray/core/common.py:615: FutureWarning: Updating MultiIndexed coordinate 'x' would corrupt indices for other variables: ['level_1', 'level_2']. This will raise an error in the future. Use `.drop_vars({'level_1', 'x', 'level_2'})` before assigning new coordinate values. data.coords.update(results) xarray/tests/test_dataset.py: 18 warnings xarray/tests/test_duck_array_ops.py: 6 warnings /usr/lib/python3.10/site-packages/dask/array/routines.py:687: DeprecationWarning: `np.bool8` is a deprecated alias for `np.bool_`. (Deprecated NumPy 1.24) if issubclass(f.dtype.type, (np.bool8, Integral)): xarray/tests/test_distributed.py: 22 warnings /usr/lib/python3.10/site-packages/tornado/ioloop.py:227: DeprecationWarning: clear_current is deprecated IOLoop.clear_current() xarray/tests/test_distributed.py: 11 warnings /usr/lib/python3.10/site-packages/distributed/utils_test.py:221: DeprecationWarning: clear_current is deprecated IOLoop.clear_current() xarray/tests/test_distributed.py: 12 warnings /usr/lib/python3.10/site-packages/tornado/ioloop.py:350: DeprecationWarning: make_current is deprecated; start the event loop first self.make_current() xarray/tests/test_distributed.py: 11 warnings /usr/lib/python3.10/site-packages/distributed/utils_test.py:223: DeprecationWarning: make_current is deprecated; start the event loop first loop.make_current() xarray/tests/test_distributed.py: 11 warnings /usr/lib/python3.10/site-packages/distributed/utils_test.py:233: DeprecationWarning: clear_current is deprecated IOLoop.clear_current() xarray/tests/test_groupby.py::TestDataArrayResample::test_resample_base /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_groupby.py:1818: FutureWarning: 'base' in .resample() and in Grouper() is deprecated. The new arguments that you should use are 'offset' or 'origin'. >>> df.resample(freq="3s", base=2) becomes: >>> df.resample(freq="3s", offset="2s") expected = DataArray(array.to_series().resample("24H", base=base).mean()) xarray/tests/test_print_versions.py::test_show_versions /usr/lib/python3.10/site-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils. warnings.warn("Setuptools is replacing distutils.") xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask_nochunk[True] xarray/tests/test_rolling.py::TestDataArrayRolling::test_rolling_wrapped_dask_nochunk[None] /usr/lib/python3.10/site-packages/dask/array/chunk.py:276: RuntimeWarning: invalid value encountered in cast return x.astype(astype_dtype, **kwargs) xarray/tests/test_units.py::TestDataArray::test_missing_value_filling[int64-method_ffill] xarray/tests/test_units.py::TestDataArray::test_missing_value_filling[int64-method_bfill] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:2770: RuntimeWarning: invalid value encountered in cast np.array([1.4, np.nan, 2.3, np.nan, np.nan, 9.1]).astype(dtype) xarray/tests/test_units.py: 15 warnings /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:2807: RuntimeWarning: invalid value encountered in cast np.array([1.4, np.nan, 2.3, np.nan, np.nan, 9.1]).astype(dtype) xarray/tests/test_units.py::TestDataArray::test_dropna[int64] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:2835: RuntimeWarning: invalid value encountered in cast np.array([1.4, np.nan, 2.3, np.nan, np.nan, 9.1]).astype(dtype) xarray/tests/test_units.py::TestDataArray::test_isin[int64-no_unit] xarray/tests/test_units.py::TestDataArray::test_isin[int64-dimensionless] xarray/tests/test_units.py::TestDataArray::test_isin[int64-incompatible_unit] xarray/tests/test_units.py::TestDataArray::test_isin[int64-compatible_unit] xarray/tests/test_units.py::TestDataArray::test_isin[int64-identical_unit] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:2860: RuntimeWarning: invalid value encountered in cast np.array([1.4, np.nan, 2.3, np.nan, np.nan, 9.1]).astype(dtype) xarray/tests/test_units.py::TestDataArray::test_isin[int64-no_unit] xarray/tests/test_units.py::TestDataArray::test_isin[int64-dimensionless] xarray/tests/test_units.py::TestDataArray::test_isin[int64-incompatible_unit] xarray/tests/test_units.py::TestDataArray::test_isin[int64-compatible_unit] xarray/tests/test_units.py::TestDataArray::test_isin[int64-identical_unit] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:2865: RuntimeWarning: invalid value encountered in cast raw_values = np.array([1.4, np.nan, 2.3]).astype(dtype) xarray/tests/test_units.py::TestDataset::test_missing_value_filling[int64-method_ffill] xarray/tests/test_units.py::TestDataset::test_missing_value_filling[int64-method_bfill] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:4256: RuntimeWarning: invalid value encountered in cast np.array([1.4, np.nan, 2.3, np.nan, np.nan, 9.1]).astype(dtype) xarray/tests/test_units.py::TestDataset::test_missing_value_filling[int64-method_ffill] xarray/tests/test_units.py::TestDataset::test_missing_value_filling[int64-method_bfill] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:4260: RuntimeWarning: invalid value encountered in cast np.array([4.3, 9.8, 7.5, np.nan, 8.2, np.nan]).astype(dtype) xarray/tests/test_units.py: 15 warnings /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:4299: RuntimeWarning: invalid value encountered in cast np.array([1.4, np.nan, 2.3, np.nan, np.nan, 9.1]).astype(dtype) xarray/tests/test_units.py: 15 warnings /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:4303: RuntimeWarning: invalid value encountered in cast np.array([4.3, 9.8, 7.5, np.nan, 8.2, np.nan]).astype(dtype) xarray/tests/test_units.py::TestDataset::test_dropna[int64] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:4329: RuntimeWarning: invalid value encountered in cast np.array([1.4, np.nan, 2.3, np.nan, np.nan, 9.1]).astype(dtype) xarray/tests/test_units.py::TestDataset::test_dropna[int64] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:4333: RuntimeWarning: invalid value encountered in cast np.array([4.3, 9.8, 7.5, np.nan, 8.2, np.nan]).astype(dtype) xarray/tests/test_units.py::TestDataset::test_isin[int64-no_unit] xarray/tests/test_units.py::TestDataset::test_isin[int64-dimensionless] xarray/tests/test_units.py::TestDataset::test_isin[int64-incompatible_unit] xarray/tests/test_units.py::TestDataset::test_isin[int64-compatible_unit] xarray/tests/test_units.py::TestDataset::test_isin[int64-same_unit] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:4357: RuntimeWarning: invalid value encountered in cast np.array([1.4, np.nan, 2.3, np.nan, np.nan, 9.1]).astype(dtype) xarray/tests/test_units.py::TestDataset::test_isin[int64-no_unit] xarray/tests/test_units.py::TestDataset::test_isin[int64-dimensionless] xarray/tests/test_units.py::TestDataset::test_isin[int64-incompatible_unit] xarray/tests/test_units.py::TestDataset::test_isin[int64-compatible_unit] xarray/tests/test_units.py::TestDataset::test_isin[int64-same_unit] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:4361: RuntimeWarning: invalid value encountered in cast np.array([4.3, 9.8, 7.5, np.nan, 8.2, np.nan]).astype(dtype) xarray/tests/test_units.py::TestDataset::test_isin[int64-no_unit] xarray/tests/test_units.py::TestDataset::test_isin[int64-dimensionless] xarray/tests/test_units.py::TestDataset::test_isin[int64-incompatible_unit] xarray/tests/test_units.py::TestDataset::test_isin[int64-compatible_unit] xarray/tests/test_units.py::TestDataset::test_isin[int64-same_unit] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:4366: RuntimeWarning: invalid value encountered in cast raw_values = np.array([1.4, np.nan, 2.3]).astype(dtype) xarray/tests/test_units.py::TestDataset::test_interpolate_na[int64] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:4442: RuntimeWarning: invalid value encountered in cast np.array([1.4, np.nan, 2.3, np.nan, np.nan, 9.1]).astype(dtype) xarray/tests/test_units.py::TestDataset::test_interpolate_na[int64] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:4446: RuntimeWarning: invalid value encountered in cast np.array([4.3, 9.8, 7.5, np.nan, 8.2, np.nan]).astype(dtype) xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-no_unit] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-dimensionless] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-incompatible_unit] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-compatible_unit] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-same_unit] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:4491: RuntimeWarning: invalid value encountered in cast np.array([1.4, np.nan, 2.3, np.nan, np.nan, 9.1]).astype(dtype) * data_unit xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-no_unit] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-dimensionless] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-incompatible_unit] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-compatible_unit] xarray/tests/test_units.py::TestDataset::test_combine_first[int64-data-same_unit] /build/python-xarray/src/xarray-2023.01.0/xarray/tests/test_units.py:4494: RuntimeWarning: invalid value encountered in cast np.array([4.3, 9.8, 7.5, np.nan, 8.2, np.nan]).astype(dtype) * data_unit -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED xarray/tests/test_backends.py::TestNetCDF4Data::test_roundtrip_numpy_datetime_data - ValueError: Failed to decode variable 't': unable to decode time units 'day... FAILED xarray/tests/test_backends.py::TestNetCDF4ViaDaskData::test_roundtrip_numpy_datetime_data - ValueError: Failed to decode variable 't': unable to decode time units 'day... FAILED xarray/tests/test_backends.py::TestScipyInMemoryData::test_roundtrip_numpy_datetime_data - ValueError: Failed to decode variable 't': unable to decode time units 'day... FAILED xarray/tests/test_backends.py::TestScipyFileObject::test_roundtrip_numpy_datetime_data - ValueError: Failed to decode variable 't': unable to decode time units 'day... FAILED xarray/tests/test_backends.py::TestScipyFilePath::test_roundtrip_numpy_datetime_data - ValueError: Failed to decode variable 't': unable to decode time units 'day... FAILED xarray/tests/test_backends.py::TestNetCDF3ViaNetCDF4Data::test_roundtrip_numpy_datetime_data - ValueError: Failed to decode variable 't': unable to decode time units 'day... FAILED xarray/tests/test_backends.py::TestNetCDF4ClassicViaNetCDF4Data::test_roundtrip_numpy_datetime_data - ValueError: Failed to decode variable 't': unable to decode time units 'day... FAILED xarray/tests/test_backends.py::TestGenericNetCDFData::test_roundtrip_numpy_datetime_data - ValueError: Failed to decode variable 't': unable to decode time units 'day... FAILED xarray/tests/test_coding_times.py::test_cf_datetime_nan[num_dates0-days since 2000-01-01-expected_list0] - ValueError: All-NaN slice encountered FAILED xarray/tests/test_coding_times.py::test_cf_datetime_nan[num_dates1-days since 2000-01-01-expected_list1] - ValueError: Cannot convert date 294277-01-09 04:00:54 to a date in the stan... FAILED xarray/tests/test_coding_times.py::test_cf_datetime_nan[num_dates2-days since 2000-01-01-expected_list2] - ValueError: Cannot convert date 294277-01-09 04:00:54 to a date in the stan... FAILED xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_numpy_datetime_data - ValueError: Failed to decode variable 't': unable to decode time units 'day... = 12 failed, 13659 passed, 2668 skipped, 1 deselected, 139 xfailed, 57 xpassed, 374 warnings in 1696.67s (0:28:16) = ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix0/build receiving incremental file list python-xarray-2023.01.0-1-riscv64-build.log python-xarray-2023.01.0-1-riscv64-check.log sent 62 bytes received 153,784 bytes 102,564.00 bytes/sec total size is 2,471,498 speedup is 16.06