Warning: Permanently added '2620:52:3:1:dead:beef:cafe:c15b' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/8485339-fedora-rawhide-x86_64 --chroot fedora-rawhide-x86_64 Version: 1.2 PID: 30211 Logging PID: 30212 Task: {'allow_user_ssh': False, 'appstream': False, 'background': True, 'build_id': 8485339, 'buildroot_pkgs': [], 'chroot': 'fedora-rawhide-x86_64', 'enable_net': False, 'fedora_review': False, 'git_hash': 'ebd0714874429d7a231b9358f8215d40e52c0203', 'git_repo': 'https://copr-dist-git.fedorainfracloud.org/git/churchyard/jinja2-3.1.5:custom:isolated/python-xbout', 'isolation': 'default', 'memory_reqs': 2048, 'package_name': 'python-xbout', 'package_version': '0.3.6-4', 'project_dirname': 'jinja2-3.1.5:custom:isolated', 'project_name': 'jinja2-3.1.5', 'project_owner': 'churchyard', 'repo_priority': None, 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/churchyard/jinja2-3.1.5/fedora-rawhide-x86_64/', 'id': 'copr_base', 'name': 'Copr repository', 'priority': None}, {'baseurl': 'http://kojipkgs.fedoraproject.org/repos/rawhide/latest/$basearch/', 'id': 'http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch', 'name': 'Additional repo http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch'}], 'sandbox': 'churchyard/jinja2-3.1.5--churchyard', 'source_json': {}, 'source_type': None, 'ssh_public_keys': None, 'storage': 0, 'submitter': 'churchyard', 'tags': [], 'task_id': '8485339-fedora-rawhide-x86_64', 'timeout': 18000, 'uses_devel_repo': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/churchyard/jinja2-3.1.5:custom:isolated/python-xbout /var/lib/copr-rpmbuild/workspace/workdir-sdqb7xx2/python-xbout --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/churchyard/jinja2-3.1.5:custom:isolated/python-xbout', '/var/lib/copr-rpmbuild/workspace/workdir-sdqb7xx2/python-xbout', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-sdqb7xx2/python-xbout'... Running: git checkout ebd0714874429d7a231b9358f8215d40e52c0203 -- cmd: ['git', 'checkout', 'ebd0714874429d7a231b9358f8215d40e52c0203', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-sdqb7xx2/python-xbout rc: 0 stdout: stderr: Note: switching to 'ebd0714874429d7a231b9358f8215d40e52c0203'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at ebd0714 automatic import of python-xbout Running: dist-git-client sources cmd: ['dist-git-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-sdqb7xx2/python-xbout rc: 0 stdout: stderr: INFO: Reading stdout from command: git rev-parse --abbrev-ref HEAD INFO: Reading stdout from command: git rev-parse HEAD INFO: Reading sources specification file: sources INFO: Downloading xbout-0.3.6.tar.gz INFO: Reading stdout from command: curl --help all INFO: Calling: curl -H Pragma: -o xbout-0.3.6.tar.gz --location --connect-timeout 60 --retry 3 --retry-delay 10 --remote-time --show-error --fail --retry-all-errors https://copr-dist-git.fedorainfracloud.org/repo/pkgs/churchyard/jinja2-3.1.5:custom:isolated/python-xbout/xbout-0.3.6.tar.gz/md5/f4970400bb7c6d2380b222c0bb98302a/xbout-0.3.6.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 4692k 100 4692k 0 0 9304k 0 --:--:-- --:--:-- --:--:-- 9292k INFO: Reading stdout from command: md5sum xbout-0.3.6.tar.gz /usr/bin/tail: /var/lib/copr-rpmbuild/main.log: file truncated Running (timeout=18000): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-sdqb7xx2/python-xbout/python-xbout.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-sdqb7xx2/python-xbout --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1736345114.814467 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 6.0 starting (python version = 3.13.0, NVR = mock-6.0-1.fc41), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-sdqb7xx2/python-xbout/python-xbout.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-sdqb7xx2/python-xbout --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1736345114.814467 -r /var/lib/copr-rpmbuild/results/configs/child.cfg Start(bootstrap): init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish(bootstrap): init plugins Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-sdqb7xx2/python-xbout/python-xbout.spec) Config(fedora-rawhide-x86_64) Start: clean chroot Finish: clean chroot Mock Version: 6.0 INFO: Mock Version: 6.0 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1736345114.814467/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Guessed host environment type: unknown INFO: Using container image: registry.fedoraproject.org/fedora:rawhide INFO: Pulling image: registry.fedoraproject.org/fedora:rawhide INFO: Tagging container image as mock-bootstrap-ce40c135-2e0e-4f49-8b32-23bcd5b829f8 INFO: Checking that 3b26c95bbe87cc88f475ce9c0ba4b394bf23541b10bebe9a634c9c8e61f73b10 image matches host's architecture INFO: Copy content of container 3b26c95bbe87cc88f475ce9c0ba4b394bf23541b10bebe9a634c9c8e61f73b10 to /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1736345114.814467/root INFO: mounting 3b26c95bbe87cc88f475ce9c0ba4b394bf23541b10bebe9a634c9c8e61f73b10 with podman image mount INFO: image 3b26c95bbe87cc88f475ce9c0ba4b394bf23541b10bebe9a634c9c8e61f73b10 as /var/lib/containers/storage/overlay/d3212d8beae72a97d426f4f4cbc9926037985c9d492b381ad2608549e5b9deb3/merged INFO: umounting image 3b26c95bbe87cc88f475ce9c0ba4b394bf23541b10bebe9a634c9c8e61f73b10 (/var/lib/containers/storage/overlay/d3212d8beae72a97d426f4f4cbc9926037985c9d492b381ad2608549e5b9deb3/merged) with podman image umount INFO: Removing image mock-bootstrap-ce40c135-2e0e-4f49-8b32-23bcd5b829f8 INFO: Package manager dnf5 detected and used (fallback) INFO: Not updating bootstrap chroot, bootstrap_image_ready=True Start(bootstrap): creating root cache Finish(bootstrap): creating root cache Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-1736345114.814467/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf5 detected and used (direct choice) INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.20.0-1.fc42.x86_64 rpm-sequoia-1.7.0-3.fc42.x86_64 dnf5-5.2.8.1-2.fc42.x86_64 dnf5-plugins-5.2.8.1-2.fc42.x86_64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: fedora 100% | 517.7 KiB/s | 27.4 KiB | 00m00s Copr repository 100% | 15.5 KiB/s | 1.5 KiB | 00m00s Additional repo http_kojipkgs_fedorapr 100% | 38.7 KiB/s | 3.8 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash x86_64 5.2.37-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 8.2 MiB bzip2 x86_64 1.0.8-19.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 95.7 KiB coreutils x86_64 9.5-11.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 5.4 MiB cpio x86_64 2.15-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.1 MiB diffutils x86_64 3.10-8.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.6 MiB fedora-release-common noarch 42-0.12 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 19.8 KiB findutils x86_64 1:4.10.0-4.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.8 MiB gawk x86_64 5.3.0-4.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.7 MiB glibc-minimal-langpack x86_64 2.40.9000-26.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 0.0 B grep x86_64 3.11-9.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.0 MiB gzip x86_64 1.13-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 389.0 KiB info x86_64 7.1.1-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 361.8 KiB patch x86_64 2.7.6-25.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 266.7 KiB redhat-rpm-config noarch 300-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 186.8 KiB rpm-build x86_64 4.20.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 194.3 KiB sed x86_64 4.9-3.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 861.5 KiB shadow-utils x86_64 2:4.17.0-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 4.0 MiB tar x86_64 2:1.35-4.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.9 MiB unzip x86_64 6.0-65.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 398.2 KiB util-linux x86_64 2.40.2-8.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.7 MiB which x86_64 2.21-42.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 80.2 KiB xz x86_64 1:5.6.3-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.2 MiB Installing dependencies: add-determinism x86_64 0.5.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.4 MiB alternatives x86_64 1.31-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 64.8 KiB ansible-srpm-macros noarch 1-16.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 35.7 KiB audit-libs x86_64 4.0.3-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 351.3 KiB authselect x86_64 1.5.0-8.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 157.5 KiB authselect-libs x86_64 1.5.0-8.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 822.2 KiB basesystem noarch 11-21.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 0.0 B binutils x86_64 2.43.50-9.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 25.8 MiB build-reproducibility-srpm-macros noarch 0.5.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 735.0 B bzip2-libs x86_64 1.0.8-19.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 80.7 KiB ca-certificates noarch 2024.2.69_v8.0.401-4.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.6 MiB coreutils-common x86_64 9.5-11.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 11.2 MiB cracklib x86_64 2.9.11-6.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 238.9 KiB crypto-policies noarch 20241128-1.gitbb7b0b0.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 137.3 KiB curl x86_64 8.11.1-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 452.0 KiB cyrus-sasl-lib x86_64 2.1.28-27.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.3 MiB debugedit x86_64 5.1-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 200.3 KiB dwz x86_64 0.15-8.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 299.2 KiB ed x86_64 1.20.2-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 146.9 KiB efi-srpm-macros noarch 5-13.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 40.2 KiB elfutils x86_64 0.192-7.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.6 MiB elfutils-debuginfod-client x86_64 0.192-7.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 81.4 KiB elfutils-default-yama-scope noarch 0.192-7.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.8 KiB elfutils-libelf x86_64 0.192-7.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.2 MiB elfutils-libs x86_64 0.192-7.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 662.9 KiB fedora-gpg-keys noarch 42-0.3 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 126.4 KiB fedora-release noarch 42-0.12 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 0.0 B fedora-release-identity-basic noarch 42-0.12 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 719.0 B fedora-repos noarch 42-0.3 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 4.9 KiB fedora-repos-rawhide noarch 42-0.3 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.2 KiB file x86_64 5.45-8.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 103.7 KiB file-libs x86_64 5.45-8.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 9.9 MiB filesystem x86_64 3.18-29.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 106.0 B filesystem-srpm-macros noarch 3.18-29.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 36.1 KiB fonts-srpm-macros noarch 1:2.0.5-17.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 55.8 KiB forge-srpm-macros noarch 0.4.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 38.9 KiB fpc-srpm-macros noarch 1.3-13.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 144.0 B gdb-minimal x86_64 15.2-4.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 12.7 MiB gdbm x86_64 1:1.23-7.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 460.9 KiB gdbm-libs x86_64 1:1.23-7.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 121.9 KiB ghc-srpm-macros noarch 1.9.2-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 779.0 B glibc x86_64 2.40.9000-26.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 6.7 MiB glibc-common x86_64 2.40.9000-26.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.0 MiB glibc-gconv-extra x86_64 2.40.9000-26.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 8.0 MiB gmp x86_64 1:6.3.0-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 811.4 KiB gnat-srpm-macros noarch 6-6.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.0 KiB go-srpm-macros noarch 3.6.0-5.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 60.8 KiB jansson x86_64 2.14-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 93.1 KiB json-c x86_64 0.18-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 83.3 KiB kernel-srpm-macros noarch 1.0-24.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.9 KiB keyutils-libs x86_64 1.6.3-4.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 54.4 KiB krb5-libs x86_64 1.21.3-3.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.3 MiB libacl x86_64 2.3.2-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 40.0 KiB libarchive x86_64 3.7.7-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 932.3 KiB libattr x86_64 2.5.2-4.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 28.5 KiB libblkid x86_64 2.40.2-8.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 262.5 KiB libbrotli x86_64 1.1.0-5.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 837.6 KiB libcap x86_64 2.71-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 210.8 KiB libcap-ng x86_64 0.8.5-3.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 69.2 KiB libcom_err x86_64 1.47.2-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 65.9 KiB libcurl x86_64 8.11.1-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 817.3 KiB libeconf x86_64 0.7.5-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 66.7 KiB libevent x86_64 2.1.12-14.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 895.7 KiB libfdisk x86_64 2.40.2-8.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 362.9 KiB libffi x86_64 3.4.6-3.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 86.4 KiB libgcc x86_64 14.2.1-6.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 270.6 KiB libgomp x86_64 14.2.1-6.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 519.8 KiB libidn2 x86_64 2.3.7-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 329.1 KiB libmount x86_64 2.40.2-8.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 355.8 KiB libnghttp2 x86_64 1.64.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 174.5 KiB libnsl2 x86_64 2.0.1-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 57.9 KiB libpkgconf x86_64 2.3.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 78.2 KiB libpsl x86_64 0.21.5-4.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 80.5 KiB libpwquality x86_64 1.4.5-11.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 417.8 KiB libselinux x86_64 3.8-0.rc3.1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 191.6 KiB libsemanage x86_64 3.8-0.rc3.1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 305.3 KiB libsepol x86_64 3.8-0.rc3.1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 812.3 KiB libsmartcols x86_64 2.40.2-8.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 180.4 KiB libssh x86_64 0.11.1-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 569.6 KiB libssh-config noarch 0.11.1-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 277.0 B libstdc++ x86_64 14.2.1-6.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.8 MiB libtasn1 x86_64 4.19.0-9.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 175.7 KiB libtirpc x86_64 1.3.6-1.rc3.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 197.6 KiB libtool-ltdl x86_64 2.5.4-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 68.1 KiB libunistring x86_64 1.1-8.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.7 MiB libuuid x86_64 2.40.2-8.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 41.4 KiB libverto x86_64 0.3.2-9.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 29.5 KiB libxcrypt x86_64 4.4.37-4.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 269.6 KiB libxml2 x86_64 2.12.9-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.7 MiB libzstd x86_64 1.5.6-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 795.9 KiB lua-libs x86_64 5.4.7-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 285.0 KiB lua-srpm-macros noarch 1-14.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.3 KiB lz4-libs x86_64 1.10.0-1.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 145.5 KiB mpfr x86_64 4.2.1-5.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 832.1 KiB ncurses-base noarch 6.5-2.20240629.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 326.3 KiB ncurses-libs x86_64 6.5-2.20240629.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 975.2 KiB ocaml-srpm-macros noarch 10-3.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.9 KiB openblas-srpm-macros noarch 2-18.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 112.0 B openldap x86_64 2.6.8-6.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 647.4 KiB openssl-libs x86_64 1:3.2.2-10.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 7.7 MiB p11-kit x86_64 0.25.5-4.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.2 MiB p11-kit-trust x86_64 0.25.5-4.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 403.8 KiB package-notes-srpm-macros noarch 0.5-12.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.6 KiB pam x86_64 1.7.0-3.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.8 MiB pam-libs x86_64 1.7.0-3.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 139.4 KiB pcre2 x86_64 10.44-1.fc41.1 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 653.5 KiB pcre2-syntax noarch 10.44-1.fc41.1 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 251.6 KiB perl-srpm-macros noarch 1-56.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 861.0 B pkgconf x86_64 2.3.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 88.6 KiB pkgconf-m4 noarch 2.3.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 14.4 KiB pkgconf-pkg-config x86_64 2.3.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 989.0 B popt x86_64 1.19-7.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 136.9 KiB publicsuffix-list-dafsa noarch 20240107-4.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 67.5 KiB pyproject-srpm-macros noarch 1.16.4-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.9 KiB python-srpm-macros noarch 3.13-3.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 51.0 KiB qt5-srpm-macros noarch 5.15.15-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 500.0 B qt6-srpm-macros noarch 6.8.1-4.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 456.0 B readline x86_64 8.2-11.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 493.1 KiB rpm x86_64 4.20.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.1 MiB rpm-build-libs x86_64 4.20.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 206.7 KiB rpm-libs x86_64 4.20.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 726.1 KiB rpm-sequoia x86_64 1.7.0-3.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.3 MiB rust-srpm-macros noarch 26.3-3.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 4.8 KiB setup noarch 2.15.0-9.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 720.7 KiB sqlite-libs x86_64 3.47.2-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.4 MiB systemd-libs x86_64 257.1-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.2 MiB util-linux-core x86_64 2.40.2-8.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.5 MiB xxhash-libs x86_64 0.8.3-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 88.5 KiB xz-libs x86_64 1:5.6.3-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 218.4 KiB zig-srpm-macros noarch 1-3.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.1 KiB zip x86_64 3.0-42.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 695.9 KiB zlib-ng-compat x86_64 2.2.2-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 134.0 KiB zstd x86_64 1.5.6-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.7 MiB Installing groups: Buildsystem building group Transaction Summary: Installing: 155 packages Total size of inbound packages is 51 MiB. Need to download 0 B. After this operation, 178 MiB extra will be used (install 178 MiB, remove 0 B). [1/1] tar-2:1.35-4.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [1/1] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/2] bzip2-0:1.0.8-19.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [2/2] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/3] redhat-rpm-config-0:300-1.fc42.no 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [3/3] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/4] rpm-build-0:4.20.0-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [4/4] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/5] unzip-0:6.0-65.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [5/5] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/6] cpio-0:2.15-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [6/6] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/7] which-0:2.21-42.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [7/7] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/8] bash-0:5.2.37-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [8/8] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/9] coreutils-0:9.5-11.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [9/9] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/10] grep-0:3.11-9.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [10/10] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/11] patch-0:2.7.6-25.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [11/11] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/12] sed-0:4.9-3.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [12/12] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/13] shadow-utils-2:4.17.0-2.fc42.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [13/13] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/14] util-linux-0:2.40.2-8.fc42.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [14/14] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/15] diffutils-0:3.10-8.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [15/15] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/16] fedora-release-common-0:42-0.12 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [16/16] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/17] findutils-1:4.10.0-4.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [17/17] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/18] gawk-0:5.3.0-4.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [18/18] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/19] glibc-minimal-langpack-0:2.40.9 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [19/19] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/20] gzip-0:1.13-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [20/20] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/21] info-0:7.1.1-2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [21/21] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/22] xz-1:5.6.3-2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [22/22] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/23] glibc-0:2.40.9000-26.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [23/23] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/24] xz-libs-1:5.6.3-2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [24/24] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/25] audit-libs-0:4.0.3-1.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [25/25] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/26] authselect-libs-0:1.5.0-8.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [26/26] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/27] libblkid-0:2.40.2-8.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [27/27] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/28] libcap-ng-0:0.8.5-3.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [28/28] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/29] libfdisk-0:2.40.2-8.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [29/29] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/30] libmount-0:2.40.2-8.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [30/30] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/31] libselinux-0:3.8-0.rc3.1.fc42.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [31/31] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/32] libsmartcols-0:2.40.2-8.fc42.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [32/32] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/33] libuuid-0:2.40.2-8.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [33/33] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/34] ncurses-libs-0:6.5-2.20240629.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [34/34] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/35] pam-0:1.7.0-3.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [35/35] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/36] pam-libs-0:1.7.0-3.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [36/36] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/37] readline-0:8.2-11.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [37/37] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/38] systemd-libs-0:257.1-1.fc42.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [38/38] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/39] util-linux-core-0:2.40.2-8.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [39/39] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/40] zlib-ng-compat-0:2.2.2-1.fc42.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [40/40] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/41] bzip2-libs-0:1.0.8-19.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [41/41] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/42] libacl-0:2.3.2-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [42/42] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/43] libcap-0:2.71-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [43/43] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/44] libgcc-0:14.2.1-6.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [44/44] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/45] libattr-0:2.5.2-4.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [45/45] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/46] libeconf-0:0.7.5-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [46/46] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/47] libsemanage-0:3.8-0.rc3.1.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [47/47] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/48] libxcrypt-0:4.4.37-4.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [48/48] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/49] setup-0:2.15.0-9.fc42.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [49/49] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/50] binutils-0:2.43.50-9.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [50/50] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/51] debugedit-0:5.1-2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [51/51] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/52] elfutils-0:0.192-7.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [52/52] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/53] elfutils-libelf-0:0.192-7.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [53/53] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/54] file-0:5.45-8.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [54/54] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/55] libarchive-0:3.7.7-1.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [55/55] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/56] pkgconf-pkg-config-0:2.3.0-1.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [56/56] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/57] popt-0:1.19-7.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [57/57] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/58] rpm-0:4.20.0-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [58/58] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/59] rpm-build-libs-0:4.20.0-1.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [59/59] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/60] rpm-libs-0:4.20.0-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [60/60] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/61] zstd-0:1.5.6-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [61/61] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/62] curl-0:8.11.1-2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [62/62] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/63] glibc-gconv-extra-0:2.40.9000-2 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [63/63] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/64] ansible-srpm-macros-0:1-16.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [64/64] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/65] build-reproducibility-srpm-macr 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [65/65] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/66] dwz-0:0.15-8.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [66/66] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/67] efi-srpm-macros-0:5-13.fc42.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [67/67] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/68] filesystem-srpm-macros-0:3.18-2 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [68/68] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/69] fonts-srpm-macros-1:2.0.5-17.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [69/69] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/70] forge-srpm-macros-0:0.4.0-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [70/70] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/71] fpc-srpm-macros-0:1.3-13.fc41.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [71/71] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/72] ghc-srpm-macros-0:1.9.2-1.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [72/72] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/73] gnat-srpm-macros-0:6-6.fc41.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [73/73] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/74] go-srpm-macros-0:3.6.0-5.fc42.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [74/74] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/75] kernel-srpm-macros-0:1.0-24.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [75/75] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/76] lua-srpm-macros-0:1-14.fc41.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [76/76] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/77] ocaml-srpm-macros-0:10-3.fc41.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [77/77] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/78] openblas-srpm-macros-0:2-18.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [78/78] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/79] package-notes-srpm-macros-0:0.5 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [79/79] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/80] perl-srpm-macros-0:1-56.fc41.no 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [80/80] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/81] pyproject-srpm-macros-0:1.16.4- 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [81/81] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/82] python-srpm-macros-0:3.13-3.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [82/82] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/83] qt5-srpm-macros-0:5.15.15-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [83/83] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/84] qt6-srpm-macros-0:6.8.1-4.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [84/84] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/85] rust-srpm-macros-0:26.3-3.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [85/85] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/86] zig-srpm-macros-0:1-3.fc41.noar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [86/86] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/87] zip-0:3.0-42.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [87/87] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/88] pkgconf-0:2.3.0-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [88/88] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/89] pkgconf-m4-0:2.3.0-1.fc42.noarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [89/89] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/90] libpkgconf-0:2.3.0-1.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [90/90] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/91] ed-0:1.20.2-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [91/91] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/92] authselect-0:1.5.0-8.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [92/92] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/93] gdbm-1:1.23-7.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [93/93] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/94] gdbm-libs-1:1.23-7.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [94/94] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/95] libnsl2-0:2.0.1-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [95/95] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/96] libpwquality-0:1.4.5-11.fc41.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [96/96] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/97] libtirpc-0:1.3.6-1.rc3.fc42.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [97/97] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/98] openssl-libs-1:3.2.2-10.fc42.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [98/98] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/99] ca-certificates-0:2024.2.69_v8. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [99/99] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/100] crypto-policies-0:20241128-1. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [100/100] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/101] ncurses-base-0:6.5-2.20240629 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [101/101] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/102] krb5-libs-0:1.21.3-3.fc42.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [102/102] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/103] libcom_err-0:1.47.2-1.fc42.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [103/103] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/104] libsepol-0:3.8-0.rc3.1.fc42.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [104/104] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/105] pcre2-0:10.44-1.fc41.1.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [105/105] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/106] cracklib-0:2.9.11-6.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [106/106] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/107] libxml2-0:2.12.9-1.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [107/107] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/108] libzstd-0:1.5.6-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [108/108] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/109] lz4-libs-0:1.10.0-1.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [109/109] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/110] keyutils-libs-0:1.6.3-4.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [110/110] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/111] libverto-0:0.3.2-9.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [111/111] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/112] glibc-common-0:2.40.9000-26.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [112/112] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/113] basesystem-0:11-21.fc41.noarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [113/113] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/114] filesystem-0:3.18-29.fc42.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [114/114] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/115] gmp-1:6.3.0-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [115/115] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/116] mpfr-0:4.2.1-5.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [116/116] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/117] file-libs-0:5.45-8.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [117/117] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/118] fedora-repos-0:42-0.3.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [118/118] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/119] elfutils-debuginfod-client-0: 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [119/119] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/120] elfutils-libs-0:0.192-7.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [120/120] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/121] libstdc++-0:14.2.1-6.fc42.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [121/121] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/122] coreutils-common-0:9.5-11.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [122/122] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/123] libffi-0:3.4.6-3.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [123/123] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/124] p11-kit-0:0.25.5-4.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [124/124] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/125] p11-kit-trust-0:0.25.5-4.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [125/125] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/126] add-determinism-0:0.5.0-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [126/126] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/127] alternatives-0:1.31-1.fc42.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [127/127] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/128] jansson-0:2.14-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [128/128] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/129] lua-libs-0:5.4.7-1.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [129/129] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/130] rpm-sequoia-0:1.7.0-3.fc42.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [130/130] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/131] sqlite-libs-0:3.47.2-1.fc42.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [131/131] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/132] libgomp-0:14.2.1-6.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [132/132] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/133] pcre2-syntax-0:10.44-1.fc41.1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [133/133] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/134] libtasn1-0:4.19.0-9.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [134/134] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/135] fedora-gpg-keys-0:42-0.3.noar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [135/135] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/136] fedora-repos-rawhide-0:42-0.3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [136/136] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/137] elfutils-default-yama-scope-0 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [137/137] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/138] json-c-0:0.18-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [138/138] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/139] fedora-release-0:42-0.12.noar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [139/139] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/140] gdb-minimal-0:15.2-4.fc42.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [140/140] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/141] xxhash-libs-0:0.8.3-1.fc42.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [141/141] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/142] fedora-release-identity-basic 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [142/142] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/143] libcurl-0:8.11.1-2.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [143/143] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/144] libbrotli-0:1.1.0-5.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [144/144] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/145] libidn2-0:2.3.7-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [145/145] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/146] libnghttp2-0:1.64.0-1.fc42.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [146/146] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/147] libpsl-0:0.21.5-4.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [147/147] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/148] libssh-0:0.11.1-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [148/148] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/149] openldap-0:2.6.8-6.fc42.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [149/149] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/150] cyrus-sasl-lib-0:2.1.28-27.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [150/150] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/151] libevent-0:2.1.12-14.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [151/151] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/152] libtool-ltdl-0:2.5.4-1.fc42.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [152/152] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/153] libssh-config-0:0.11.1-1.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [153/153] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/154] libunistring-0:1.1-8.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [154/154] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/155] publicsuffix-list-dafsa-0:202 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [155/155] Total 100% | 0.0 B/s | 0.0 B | 00m00s Running transaction [ 1/157] Verify package files 100% | 794.0 B/s | 155.0 B | 00m00s [ 2/157] Prepare transaction 100% | 1.7 KiB/s | 155.0 B | 00m00s [ 3/157] Installing libgcc-0:14.2.1-6. 100% | 132.9 MiB/s | 272.3 KiB | 00m00s [ 4/157] Installing publicsuffix-list- 100% | 66.7 MiB/s | 68.3 KiB | 00m00s [ 5/157] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 6/157] Installing fedora-release-ide 100% | 0.0 B/s | 976.0 B | 00m00s [ 7/157] Installing fedora-gpg-keys-0: 100% | 16.8 MiB/s | 172.2 KiB | 00m00s [ 8/157] Installing fedora-repos-rawhi 100% | 0.0 B/s | 2.4 KiB | 00m00s [ 9/157] Installing fedora-repos-0:42- 100% | 0.0 B/s | 5.7 KiB | 00m00s [ 10/157] Installing fedora-release-com 100% | 7.9 MiB/s | 24.1 KiB | 00m00s [ 11/157] Installing fedora-release-0:4 100% | 0.0 B/s | 124.0 B | 00m00s [ 12/157] Installing setup-0:2.15.0-9.f 100% | 47.3 MiB/s | 726.5 KiB | 00m00s >>> [RPM] /etc/hosts created as /etc/hosts.rpmnew [ 13/157] Installing filesystem-0:3.18- 100% | 1.5 MiB/s | 212.6 KiB | 00m00s [ 14/157] Installing basesystem-0:11-21 100% | 0.0 B/s | 124.0 B | 00m00s [ 15/157] Installing pcre2-syntax-0:10. 100% | 124.1 MiB/s | 254.1 KiB | 00m00s [ 16/157] Installing coreutils-common-0 100% | 180.5 MiB/s | 11.2 MiB | 00m00s [ 17/157] Installing ncurses-base-0:6.5 100% | 31.2 MiB/s | 351.7 KiB | 00m00s [ 18/157] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 19/157] Installing ncurses-libs-0:6.5 100% | 119.9 MiB/s | 981.8 KiB | 00m00s [ 20/157] Installing glibc-0:2.40.9000- 100% | 185.8 MiB/s | 6.7 MiB | 00m00s [ 21/157] Installing bash-0:5.2.37-1.fc 100% | 233.4 MiB/s | 8.2 MiB | 00m00s [ 22/157] Installing glibc-common-0:2.4 100% | 104.2 MiB/s | 1.0 MiB | 00m00s [ 23/157] Installing glibc-gconv-extra- 100% | 136.8 MiB/s | 8.1 MiB | 00m00s [ 24/157] Installing zlib-ng-compat-0:2 100% | 131.7 MiB/s | 134.9 KiB | 00m00s [ 25/157] Installing xz-libs-1:5.6.3-2. 100% | 107.2 MiB/s | 219.5 KiB | 00m00s [ 26/157] Installing bzip2-libs-0:1.0.8 100% | 79.9 MiB/s | 81.8 KiB | 00m00s [ 27/157] Installing libuuid-0:2.40.2-8 100% | 41.5 MiB/s | 42.5 KiB | 00m00s [ 28/157] Installing readline-0:8.2-11. 100% | 161.2 MiB/s | 495.3 KiB | 00m00s [ 29/157] Installing popt-0:1.19-7.fc41 100% | 23.4 MiB/s | 143.5 KiB | 00m00s [ 30/157] Installing libblkid-0:2.40.2- 100% | 128.7 MiB/s | 263.6 KiB | 00m00s [ 31/157] Installing libattr-0:2.5.2-4. 100% | 28.8 MiB/s | 29.5 KiB | 00m00s [ 32/157] Installing libacl-0:2.3.2-2.f 100% | 39.8 MiB/s | 40.7 KiB | 00m00s [ 33/157] Installing libxcrypt-0:4.4.37 100% | 88.6 MiB/s | 272.3 KiB | 00m00s [ 34/157] Installing libzstd-0:1.5.6-2. 100% | 259.5 MiB/s | 797.2 KiB | 00m00s [ 35/157] Installing elfutils-libelf-0: 100% | 194.5 MiB/s | 1.2 MiB | 00m00s [ 36/157] Installing gmp-1:6.3.0-2.fc41 100% | 198.6 MiB/s | 813.7 KiB | 00m00s [ 37/157] Installing libstdc++-0:14.2.1 100% | 197.1 MiB/s | 2.8 MiB | 00m00s [ 38/157] Installing libeconf-0:0.7.5-1 100% | 66.8 MiB/s | 68.4 KiB | 00m00s [ 39/157] Installing gdbm-libs-1:1.23-7 100% | 120.7 MiB/s | 123.6 KiB | 00m00s [ 40/157] Installing mpfr-0:4.2.1-5.fc4 100% | 203.5 MiB/s | 833.7 KiB | 00m00s [ 41/157] Installing gawk-0:5.3.0-4.fc4 100% | 123.7 MiB/s | 1.7 MiB | 00m00s [ 42/157] Installing dwz-0:0.15-8.fc42. 100% | 146.8 MiB/s | 300.6 KiB | 00m00s [ 43/157] Installing unzip-0:6.0-65.fc4 100% | 130.8 MiB/s | 401.7 KiB | 00m00s [ 44/157] Installing file-libs-0:5.45-8 100% | 368.1 MiB/s | 9.9 MiB | 00m00s [ 45/157] Installing file-0:5.45-8.fc42 100% | 7.9 MiB/s | 105.2 KiB | 00m00s [ 46/157] Installing crypto-policies-0: 100% | 13.3 MiB/s | 163.7 KiB | 00m00s [ 47/157] Installing libcap-ng-0:0.8.5- 100% | 69.4 MiB/s | 71.0 KiB | 00m00s [ 48/157] Installing audit-libs-0:4.0.3 100% | 115.0 MiB/s | 353.4 KiB | 00m00s [ 49/157] Installing pam-libs-0:1.7.0-3 100% | 69.2 MiB/s | 141.8 KiB | 00m00s [ 50/157] Installing libcap-0:2.71-1.fc 100% | 42.2 MiB/s | 215.8 KiB | 00m00s [ 51/157] Installing systemd-libs-0:257 100% | 170.8 MiB/s | 2.2 MiB | 00m00s [ 52/157] Installing libsmartcols-0:2.4 100% | 177.1 MiB/s | 181.4 KiB | 00m00s [ 53/157] Installing libcom_err-0:1.47. 100% | 65.3 MiB/s | 66.9 KiB | 00m00s [ 54/157] Installing libsepol-0:3.8-0.r 100% | 158.8 MiB/s | 813.3 KiB | 00m00s [ 55/157] Installing pcre2-0:10.44-1.fc 100% | 213.2 MiB/s | 654.9 KiB | 00m00s [ 56/157] Installing libselinux-0:3.8-0 100% | 94.2 MiB/s | 192.9 KiB | 00m00s [ 57/157] Installing sed-0:4.9-3.fc41.x 100% | 94.4 MiB/s | 869.7 KiB | 00m00s [ 58/157] Installing findutils-1:4.10.0 100% | 142.9 MiB/s | 1.9 MiB | 00m00s [ 59/157] Installing grep-0:3.11-9.fc41 100% | 100.3 MiB/s | 1.0 MiB | 00m00s [ 60/157] Installing xz-1:5.6.3-2.fc42. 100% | 95.2 MiB/s | 1.2 MiB | 00m00s [ 61/157] Installing libmount-0:2.40.2- 100% | 174.3 MiB/s | 356.9 KiB | 00m00s [ 62/157] Installing lz4-libs-0:1.10.0- 100% | 143.1 MiB/s | 146.6 KiB | 00m00s [ 63/157] Installing libffi-0:3.4.6-3.f 100% | 85.7 MiB/s | 87.8 KiB | 00m00s [ 64/157] Installing alternatives-0:1.3 100% | 64.8 MiB/s | 66.4 KiB | 00m00s [ 65/157] Installing lua-libs-0:5.4.7-1 100% | 93.2 MiB/s | 286.2 KiB | 00m00s [ 66/157] Installing libtasn1-0:4.19.0- 100% | 86.7 MiB/s | 177.5 KiB | 00m00s [ 67/157] Installing p11-kit-0:0.25.5-4 100% | 123.1 MiB/s | 2.2 MiB | 00m00s [ 68/157] Installing libunistring-0:1.1 100% | 216.3 MiB/s | 1.7 MiB | 00m00s [ 69/157] Installing libidn2-0:2.3.7-2. 100% | 54.5 MiB/s | 335.1 KiB | 00m00s [ 70/157] Installing libpsl-0:0.21.5-4. 100% | 79.7 MiB/s | 81.7 KiB | 00m00s [ 71/157] Installing p11-kit-trust-0:0. 100% | 26.4 MiB/s | 405.5 KiB | 00m00s [ 72/157] Installing openssl-libs-1:3.2 100% | 226.2 MiB/s | 7.7 MiB | 00m00s [ 73/157] Installing coreutils-0:9.5-11 100% | 108.0 MiB/s | 5.4 MiB | 00m00s [ 74/157] Installing ca-certificates-0: 100% | 1.1 MiB/s | 2.4 MiB | 00m02s [ 75/157] Installing gzip-0:1.13-2.fc41 100% | 64.2 MiB/s | 394.6 KiB | 00m00s [ 76/157] Installing authselect-libs-0: 100% | 81.8 MiB/s | 837.2 KiB | 00m00s [ 77/157] Installing cracklib-0:2.9.11- 100% | 34.9 MiB/s | 250.3 KiB | 00m00s [ 78/157] Installing libpwquality-0:1.4 100% | 42.0 MiB/s | 430.1 KiB | 00m00s [ 79/157] Installing rpm-sequoia-0:1.7. 100% | 211.3 MiB/s | 2.3 MiB | 00m00s [ 80/157] Installing libevent-0:2.1.12- 100% | 175.7 MiB/s | 899.5 KiB | 00m00s [ 81/157] Installing zstd-0:1.5.6-2.fc4 100% | 241.6 MiB/s | 1.7 MiB | 00m00s [ 82/157] Installing util-linux-core-0: 100% | 117.5 MiB/s | 1.5 MiB | 00m00s [ 83/157] Installing tar-2:1.35-4.fc41. 100% | 134.5 MiB/s | 3.0 MiB | 00m00s [ 84/157] Installing libsemanage-0:3.8- 100% | 100.0 MiB/s | 307.1 KiB | 00m00s [ 85/157] Installing shadow-utils-2:4.1 100% | 64.3 MiB/s | 4.0 MiB | 00m00s [ 86/157] Installing zip-0:3.0-42.fc42. 100% | 136.7 MiB/s | 699.8 KiB | 00m00s [ 87/157] Installing gdbm-1:1.23-7.fc41 100% | 75.8 MiB/s | 465.8 KiB | 00m00s [ 88/157] Installing cyrus-sasl-lib-0:2 100% | 177.4 MiB/s | 2.3 MiB | 00m00s [ 89/157] Installing libfdisk-0:2.40.2- 100% | 118.5 MiB/s | 364.0 KiB | 00m00s [ 90/157] Installing bzip2-0:1.0.8-19.f 100% | 32.6 MiB/s | 100.2 KiB | 00m00s [ 91/157] Installing libxml2-0:2.12.9-1 100% | 168.6 MiB/s | 1.7 MiB | 00m00s [ 92/157] Installing libarchive-0:3.7.7 100% | 152.1 MiB/s | 934.2 KiB | 00m00s [ 93/157] Installing add-determinism-0: 100% | 197.4 MiB/s | 2.4 MiB | 00m00s [ 94/157] Installing build-reproducibil 100% | 1.0 MiB/s | 1.0 KiB | 00m00s [ 95/157] Installing sqlite-libs-0:3.47 100% | 179.2 MiB/s | 1.4 MiB | 00m00s [ 96/157] Installing rpm-libs-0:4.20.0- 100% | 142.1 MiB/s | 727.7 KiB | 00m00s [ 97/157] Installing filesystem-srpm-ma 100% | 35.9 MiB/s | 36.8 KiB | 00m00s [ 98/157] Installing ed-0:1.20.2-2.fc41 100% | 48.6 MiB/s | 149.2 KiB | 00m00s [ 99/157] Installing patch-0:2.7.6-25.f 100% | 87.3 MiB/s | 268.2 KiB | 00m00s [100/157] Installing elfutils-default-y 100% | 185.7 KiB/s | 2.0 KiB | 00m00s [101/157] Installing elfutils-libs-0:0. 100% | 129.8 MiB/s | 664.7 KiB | 00m00s [102/157] Installing cpio-0:2.15-2.fc41 100% | 110.0 MiB/s | 1.1 MiB | 00m00s [103/157] Installing diffutils-0:3.10-8 100% | 132.5 MiB/s | 1.6 MiB | 00m00s [104/157] Installing libpkgconf-0:2.3.0 100% | 38.7 MiB/s | 79.3 KiB | 00m00s [105/157] Installing pkgconf-0:2.3.0-1. 100% | 29.7 MiB/s | 91.1 KiB | 00m00s [106/157] Installing keyutils-libs-0:1. 100% | 54.5 MiB/s | 55.8 KiB | 00m00s [107/157] Installing libverto-0:0.3.2-9 100% | 15.3 MiB/s | 31.3 KiB | 00m00s [108/157] Installing krb5-libs-0:1.21.3 100% | 153.7 MiB/s | 2.3 MiB | 00m00s [109/157] Installing libtirpc-0:1.3.6-1 100% | 64.9 MiB/s | 199.4 KiB | 00m00s [110/157] Installing libnsl2-0:2.0.1-2. 100% | 28.8 MiB/s | 59.1 KiB | 00m00s [111/157] Installing pam-0:1.7.0-3.fc42 100% | 67.6 MiB/s | 1.9 MiB | 00m00s [112/157] Installing libssh-0:0.11.1-1. 100% | 139.6 MiB/s | 571.7 KiB | 00m00s [113/157] Installing jansson-0:2.14-1.f 100% | 46.2 MiB/s | 94.5 KiB | 00m00s [114/157] Installing libgomp-0:14.2.1-6 100% | 127.2 MiB/s | 521.2 KiB | 00m00s [115/157] Installing rpm-build-libs-0:4 100% | 101.3 MiB/s | 207.5 KiB | 00m00s [116/157] Installing json-c-0:0.18-1.fc 100% | 41.3 MiB/s | 84.6 KiB | 00m00s [117/157] Installing xxhash-libs-0:0.8. 100% | 43.9 MiB/s | 89.9 KiB | 00m00s [118/157] Installing libbrotli-0:1.1.0- 100% | 164.0 MiB/s | 839.9 KiB | 00m00s [119/157] Installing libnghttp2-0:1.64. 100% | 85.7 MiB/s | 175.6 KiB | 00m00s [120/157] Installing libtool-ltdl-0:2.5 100% | 33.8 MiB/s | 69.2 KiB | 00m00s [121/157] Installing openldap-0:2.6.8-6 100% | 106.0 MiB/s | 651.2 KiB | 00m00s [122/157] Installing libcurl-0:8.11.1-2 100% | 159.8 MiB/s | 818.4 KiB | 00m00s [123/157] Installing elfutils-debuginfo 100% | 27.3 MiB/s | 83.8 KiB | 00m00s [124/157] Installing binutils-0:2.43.50 100% | 213.3 MiB/s | 25.8 MiB | 00m00s [125/157] Installing elfutils-0:0.192-7 100% | 176.3 MiB/s | 2.6 MiB | 00m00s [126/157] Installing gdb-minimal-0:15.2 100% | 208.6 MiB/s | 12.7 MiB | 00m00s [127/157] Installing debugedit-0:5.1-2. 100% | 66.1 MiB/s | 203.0 KiB | 00m00s [128/157] Installing curl-0:8.11.1-2.fc 100% | 15.9 MiB/s | 454.5 KiB | 00m00s [129/157] Installing rpm-0:4.20.0-1.fc4 100% | 78.3 MiB/s | 2.5 MiB | 00m00s [130/157] Installing efi-srpm-macros-0: 100% | 40.2 MiB/s | 41.2 KiB | 00m00s [131/157] Installing lua-srpm-macros-0: 100% | 1.9 MiB/s | 1.9 KiB | 00m00s [132/157] Installing zig-srpm-macros-0: 100% | 1.6 MiB/s | 1.7 KiB | 00m00s [133/157] Installing pkgconf-m4-0:2.3.0 100% | 0.0 B/s | 14.8 KiB | 00m00s [134/157] Installing pkgconf-pkg-config 100% | 1.7 MiB/s | 1.8 KiB | 00m00s [135/157] Installing rust-srpm-macros-0 100% | 5.4 MiB/s | 5.6 KiB | 00m00s [136/157] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 732.0 B | 00m00s [137/157] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [138/157] Installing perl-srpm-macros-0 100% | 1.1 MiB/s | 1.1 KiB | 00m00s [139/157] Installing package-notes-srpm 100% | 0.0 B/s | 2.0 KiB | 00m00s [140/157] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [141/157] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.2 KiB | 00m00s [142/157] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [143/157] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [144/157] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [145/157] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [146/157] Installing ansible-srpm-macro 100% | 35.4 MiB/s | 36.2 KiB | 00m00s [147/157] Installing fonts-srpm-macros- 100% | 55.7 MiB/s | 57.0 KiB | 00m00s [148/157] Installing forge-srpm-macros- 100% | 39.3 MiB/s | 40.3 KiB | 00m00s [149/157] Installing go-srpm-macros-0:3 100% | 20.2 MiB/s | 62.0 KiB | 00m00s [150/157] Installing python-srpm-macros 100% | 50.9 MiB/s | 52.2 KiB | 00m00s [151/157] Installing redhat-rpm-config- 100% | 47.2 MiB/s | 193.5 KiB | 00m00s [152/157] Installing rpm-build-0:4.20.0 100% | 39.6 MiB/s | 202.9 KiB | 00m00s [153/157] Installing pyproject-srpm-mac 100% | 1.2 MiB/s | 2.5 KiB | 00m00s [154/157] Installing util-linux-0:2.40. 100% | 79.0 MiB/s | 3.7 MiB | 00m00s [155/157] Installing authselect-0:1.5.0 100% | 39.5 MiB/s | 161.9 KiB | 00m00s [156/157] Installing which-0:2.21-42.fc 100% | 26.8 MiB/s | 82.4 KiB | 00m00s [157/157] Installing info-0:7.1.1-2.fc4 100% | 117.2 KiB/s | 362.2 KiB | 00m03s Warning: skipped OpenPGP checks for 155 packages from repository: http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch Complete! Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: add-determinism-0.5.0-1.fc42.x86_64 alternatives-1.31-1.fc42.x86_64 ansible-srpm-macros-1-16.fc41.noarch audit-libs-4.0.3-1.fc42.x86_64 authselect-1.5.0-8.fc42.x86_64 authselect-libs-1.5.0-8.fc42.x86_64 basesystem-11-21.fc41.noarch bash-5.2.37-1.fc42.x86_64 binutils-2.43.50-9.fc42.x86_64 build-reproducibility-srpm-macros-0.5.0-1.fc42.noarch bzip2-1.0.8-19.fc41.x86_64 bzip2-libs-1.0.8-19.fc41.x86_64 ca-certificates-2024.2.69_v8.0.401-4.fc42.noarch coreutils-9.5-11.fc42.x86_64 coreutils-common-9.5-11.fc42.x86_64 cpio-2.15-2.fc41.x86_64 cracklib-2.9.11-6.fc41.x86_64 crypto-policies-20241128-1.gitbb7b0b0.fc42.noarch curl-8.11.1-2.fc42.x86_64 cyrus-sasl-lib-2.1.28-27.fc41.x86_64 debugedit-5.1-2.fc42.x86_64 diffutils-3.10-8.fc41.x86_64 dwz-0.15-8.fc42.x86_64 ed-1.20.2-2.fc41.x86_64 efi-srpm-macros-5-13.fc42.noarch elfutils-0.192-7.fc42.x86_64 elfutils-debuginfod-client-0.192-7.fc42.x86_64 elfutils-default-yama-scope-0.192-7.fc42.noarch elfutils-libelf-0.192-7.fc42.x86_64 elfutils-libs-0.192-7.fc42.x86_64 fedora-gpg-keys-42-0.3.noarch fedora-release-42-0.12.noarch fedora-release-common-42-0.12.noarch fedora-release-identity-basic-42-0.12.noarch fedora-repos-42-0.3.noarch fedora-repos-rawhide-42-0.3.noarch file-5.45-8.fc42.x86_64 file-libs-5.45-8.fc42.x86_64 filesystem-3.18-29.fc42.x86_64 filesystem-srpm-macros-3.18-29.fc42.noarch findutils-4.10.0-4.fc41.x86_64 fonts-srpm-macros-2.0.5-17.fc41.noarch forge-srpm-macros-0.4.0-1.fc42.noarch fpc-srpm-macros-1.3-13.fc41.noarch gawk-5.3.0-4.fc41.x86_64 gdb-minimal-15.2-4.fc42.x86_64 gdbm-1.23-7.fc41.x86_64 gdbm-libs-1.23-7.fc41.x86_64 ghc-srpm-macros-1.9.2-1.fc42.noarch glibc-2.40.9000-26.fc42.x86_64 glibc-common-2.40.9000-26.fc42.x86_64 glibc-gconv-extra-2.40.9000-26.fc42.x86_64 glibc-minimal-langpack-2.40.9000-26.fc42.x86_64 gmp-6.3.0-2.fc41.x86_64 gnat-srpm-macros-6-6.fc41.noarch go-srpm-macros-3.6.0-5.fc42.noarch grep-3.11-9.fc41.x86_64 gzip-1.13-2.fc41.x86_64 info-7.1.1-2.fc42.x86_64 jansson-2.14-1.fc42.x86_64 json-c-0.18-1.fc42.x86_64 kernel-srpm-macros-1.0-24.fc41.noarch keyutils-libs-1.6.3-4.fc41.x86_64 krb5-libs-1.21.3-3.fc42.x86_64 libacl-2.3.2-2.fc41.x86_64 libarchive-3.7.7-1.fc42.x86_64 libattr-2.5.2-4.fc41.x86_64 libblkid-2.40.2-8.fc42.x86_64 libbrotli-1.1.0-5.fc41.x86_64 libcap-2.71-1.fc42.x86_64 libcap-ng-0.8.5-3.fc41.x86_64 libcom_err-1.47.2-1.fc42.x86_64 libcurl-8.11.1-2.fc42.x86_64 libeconf-0.7.5-1.fc42.x86_64 libevent-2.1.12-14.fc41.x86_64 libfdisk-2.40.2-8.fc42.x86_64 libffi-3.4.6-3.fc42.x86_64 libgcc-14.2.1-6.fc42.x86_64 libgomp-14.2.1-6.fc42.x86_64 libidn2-2.3.7-2.fc41.x86_64 libmount-2.40.2-8.fc42.x86_64 libnghttp2-1.64.0-1.fc42.x86_64 libnsl2-2.0.1-2.fc41.x86_64 libpkgconf-2.3.0-1.fc42.x86_64 libpsl-0.21.5-4.fc41.x86_64 libpwquality-1.4.5-11.fc41.x86_64 libselinux-3.8-0.rc3.1.fc42.x86_64 libsemanage-3.8-0.rc3.1.fc42.x86_64 libsepol-3.8-0.rc3.1.fc42.x86_64 libsmartcols-2.40.2-8.fc42.x86_64 libssh-0.11.1-1.fc42.x86_64 libssh-config-0.11.1-1.fc42.noarch libstdc++-14.2.1-6.fc42.x86_64 libtasn1-4.19.0-9.fc41.x86_64 libtirpc-1.3.6-1.rc3.fc42.x86_64 libtool-ltdl-2.5.4-1.fc42.x86_64 libunistring-1.1-8.fc41.x86_64 libuuid-2.40.2-8.fc42.x86_64 libverto-0.3.2-9.fc41.x86_64 libxcrypt-4.4.37-4.fc42.x86_64 libxml2-2.12.9-1.fc42.x86_64 libzstd-1.5.6-2.fc41.x86_64 lua-libs-5.4.7-1.fc42.x86_64 lua-srpm-macros-1-14.fc41.noarch lz4-libs-1.10.0-1.fc41.x86_64 mpfr-4.2.1-5.fc41.x86_64 ncurses-base-6.5-2.20240629.fc41.noarch ncurses-libs-6.5-2.20240629.fc41.x86_64 ocaml-srpm-macros-10-3.fc41.noarch openblas-srpm-macros-2-18.fc41.noarch openldap-2.6.8-6.fc42.x86_64 openssl-libs-3.2.2-10.fc42.x86_64 p11-kit-0.25.5-4.fc42.x86_64 p11-kit-trust-0.25.5-4.fc42.x86_64 package-notes-srpm-macros-0.5-12.fc41.noarch pam-1.7.0-3.fc42.x86_64 pam-libs-1.7.0-3.fc42.x86_64 patch-2.7.6-25.fc41.x86_64 pcre2-10.44-1.fc41.1.x86_64 pcre2-syntax-10.44-1.fc41.1.noarch perl-srpm-macros-1-56.fc41.noarch pkgconf-2.3.0-1.fc42.x86_64 pkgconf-m4-2.3.0-1.fc42.noarch pkgconf-pkg-config-2.3.0-1.fc42.x86_64 popt-1.19-7.fc41.x86_64 publicsuffix-list-dafsa-20240107-4.fc41.noarch pyproject-srpm-macros-1.16.4-1.fc42.noarch python-srpm-macros-3.13-3.fc41.noarch qt5-srpm-macros-5.15.15-1.fc42.noarch qt6-srpm-macros-6.8.1-4.fc42.noarch readline-8.2-11.fc42.x86_64 redhat-rpm-config-300-1.fc42.noarch rpm-4.20.0-1.fc42.x86_64 rpm-build-4.20.0-1.fc42.x86_64 rpm-build-libs-4.20.0-1.fc42.x86_64 rpm-libs-4.20.0-1.fc42.x86_64 rpm-sequoia-1.7.0-3.fc42.x86_64 rust-srpm-macros-26.3-3.fc42.noarch sed-4.9-3.fc41.x86_64 setup-2.15.0-9.fc42.noarch shadow-utils-4.17.0-2.fc42.x86_64 sqlite-libs-3.47.2-1.fc42.x86_64 systemd-libs-257.1-1.fc42.x86_64 tar-1.35-4.fc41.x86_64 unzip-6.0-65.fc42.x86_64 util-linux-2.40.2-8.fc42.x86_64 util-linux-core-2.40.2-8.fc42.x86_64 which-2.21-42.fc41.x86_64 xxhash-libs-0.8.3-1.fc42.x86_64 xz-5.6.3-2.fc42.x86_64 xz-libs-5.6.3-2.fc42.x86_64 zig-srpm-macros-1-3.fc41.noarch zip-3.0-42.fc42.x86_64 zlib-ng-compat-2.2.2-1.fc42.x86_64 zstd-1.5.6-2.fc41.x86_64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1721347200 Wrote: /builddir/build/SRPMS/python-xbout-0.3.6-4.fc42.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1736345114.814467/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-sdqb7xx2/python-xbout/python-xbout.spec) Config(child) 0 minutes 18 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot INFO: Start(/var/lib/copr-rpmbuild/results/python-xbout-0.3.6-4.fc42.src.rpm) Config(fedora-rawhide-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1736345114.814467/root. INFO: reusing tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1736345114.814467/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-1736345114.814467/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.20.0-1.fc42.x86_64 rpm-sequoia-1.7.0-3.fc42.x86_64 dnf5-5.2.8.1-2.fc42.x86_64 dnf5-plugins-5.2.8.1-2.fc42.x86_64 Finish: chroot init Start: build phase for python-xbout-0.3.6-4.fc42.src.rpm Start: build setup for python-xbout-0.3.6-4.fc42.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1721347200 Wrote: /builddir/build/SRPMS/python-xbout-0.3.6-4.fc42.src.rpm Updating and loading repositories: fedora 100% | 980.0 KiB/s | 27.4 KiB | 00m00s Additional repo http_kojipkgs_fedorapr 100% | 32.2 KiB/s | 3.8 KiB | 00m00s Copr repository 100% | 27.0 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: python3-boutdata noarch 0.2.1-7.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 545.5 KiB python3-devel x86_64 3.13.1-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.8 MiB python3-pytest noarch 8.3.4-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 20.8 MiB python3-sphinx noarch 1:7.3.7-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 10.8 MiB python3-sphinx-autodoc-typehints noarch 2.5.0-4.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 116.4 KiB Installing dependencies: abattis-cantarell-vf-fonts noarch 0.301-13.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 192.7 KiB blosc x86_64 1.21.6-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 130.3 KiB cairo x86_64 1.18.2-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.7 MiB default-fonts-core-sans noarch 4.2-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 11.9 KiB dejavu-sans-fonts noarch 2.37-24.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 5.5 MiB expat x86_64 2.6.4-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 285.5 KiB flexiblas x86_64 3.4.4-3.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 48.5 KiB flexiblas-netlib x86_64 3.4.4-3.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 10.7 MiB flexiblas-openblas-openmp x86_64 3.4.4-3.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 43.3 KiB fontconfig x86_64 2.15.0-8.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 791.9 KiB fonts-filesystem noarch 1:2.0.5-17.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 0.0 B freetype x86_64 2.13.3-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 850.5 KiB fribidi x86_64 1.0.16-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 194.5 KiB glib2 x86_64 2.83.0-3.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 14.6 MiB gnutls x86_64 3.8.8-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.2 MiB google-noto-fonts-common noarch 20250101-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 17.7 KiB google-noto-sans-vf-fonts noarch 20250101-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.4 MiB graphite2 x86_64 1.3.14-16.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 192.0 KiB harfbuzz x86_64 10.1.0-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.7 MiB hdf-libs x86_64 4.3.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 699.3 KiB hdf5 x86_64 1.14.5-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 7.1 MiB jbigkit-libs x86_64 2.1-30.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 117.6 KiB lcms2 x86_64 2.16-4.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 424.9 KiB libX11 x86_64 1.8.10-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.3 MiB libX11-common noarch 1.8.10-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.1 MiB libXau x86_64 1.0.12-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 75.8 KiB libXext x86_64 1.3.6-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 90.1 KiB libXft x86_64 2.3.8-7.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 164.5 KiB libXrender x86_64 0.9.12-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 48.8 KiB libaec x86_64 1.1.3-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 98.1 KiB libb2 x86_64 0.98.1-12.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 42.2 KiB libgfortran x86_64 14.2.1-6.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.0 MiB libimagequant x86_64 4.0.3-5.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 666.7 KiB libjpeg-turbo x86_64 3.1.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 787.0 KiB liblerc x86_64 4.0.0-7.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 607.5 KiB libpng x86_64 2:1.6.44-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 245.8 KiB libqhull_r x86_64 1:8.0.2-5.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 483.4 KiB libquadmath x86_64 14.2.1-6.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 325.9 KiB libraqm x86_64 0.10.1-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 32.7 KiB libtiff x86_64 4.7.0-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 620.0 KiB libwebp x86_64 1.5.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 814.4 KiB libxcb x86_64 1.17.0-3.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.2 MiB mpdecimal x86_64 2.5.1-16.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 204.9 KiB netcdf x86_64 4.9.2-7.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.4 MiB nettle x86_64 3.10-3.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 793.0 KiB openblas x86_64 0.3.28-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 106.6 KiB openblas-openmp x86_64 0.3.28-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 39.3 MiB openjpeg x86_64 2.5.3-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 451.4 KiB pixman x86_64 0.44.2-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 664.5 KiB pyproject-rpm-macros noarch 1.16.4-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 113.0 KiB python-pip-wheel noarch 24.3.1-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.2 MiB python-rpm-macros noarch 3.13-3.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 22.1 KiB python3 x86_64 3.13.1-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 30.6 KiB python3-babel noarch 2.16.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 28.3 MiB python3-boututils noarch 0.2.1-6.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 435.6 KiB python3-cairo x86_64 1.25.1-5.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 492.5 KiB python3-certifi noarch 2024.08.30-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 6.8 KiB python3-cftime x86_64 1.6.4-3.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 631.9 KiB python3-charset-normalizer noarch 3.4.1-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 319.6 KiB python3-contourpy x86_64 1.3.1-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 821.5 KiB python3-cycler noarch 0.11.0-13.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 37.6 KiB python3-cython x86_64 3.0.11-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 18.0 MiB python3-dateutil noarch 1:2.8.2-16.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 879.2 KiB python3-docutils noarch 0.21.2-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 4.9 MiB python3-fonttools x86_64 4.55.3-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 18.1 MiB python3-idna noarch 3.10-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 628.0 KiB python3-imagesize noarch 1.4.1-9.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 35.3 KiB python3-iniconfig noarch 1.1.1-23.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 20.6 KiB python3-jinja2 noarch 3.1.5-1.fc42 copr_base 2.9 MiB python3-kiwisolver x86_64 1.4.8-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 153.1 KiB python3-libs x86_64 3.13.1-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 39.8 MiB python3-markupsafe x86_64 3.0.2-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 56.1 KiB python3-matplotlib x86_64 3.9.4-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 21.0 MiB python3-matplotlib-data noarch 3.9.4-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 741.5 KiB python3-matplotlib-data-fonts noarch 3.9.4-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 7.9 MiB python3-matplotlib-tk x86_64 3.9.4-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 256.4 KiB python3-mpmath noarch 1.3.0-10.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 5.2 MiB python3-natsort noarch 8.4.0-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 252.8 KiB python3-netcdf4 x86_64 1.7.2-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.4 MiB python3-numpy x86_64 1:2.2.1-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 40.8 MiB python3-numpy-f2py x86_64 1:2.2.1-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.0 MiB python3-olefile noarch 0.47-5.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 340.4 KiB python3-packaging noarch 24.2-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 555.7 KiB python3-pillow x86_64 11.1.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.9 MiB python3-pillow-tk x86_64 11.1.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 71.8 KiB python3-platformdirs noarch 4.2.2-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 168.6 KiB python3-pluggy noarch 1.5.0-1.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 193.2 KiB python3-pooch noarch 1.8.2-3.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 625.5 KiB python3-pygments noarch 2.18.0-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 10.6 MiB python3-pyparsing noarch 3.1.2-7.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.0 MiB python3-requests noarch 2.32.3-3.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 485.9 KiB python3-rpm-generators noarch 14-11.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 81.7 KiB python3-rpm-macros noarch 3.13-3.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 6.4 KiB python3-scipy x86_64 1.14.1-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 66.8 MiB python3-six noarch 1.17.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 116.9 KiB python3-snowballstemmer noarch 2.2.0-13.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.7 MiB python3-sphinx-theme-alabaster noarch 0.7.16-6.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 41.9 KiB python3-sympy x86_64 1.13.3-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 78.3 MiB python3-tkinter x86_64 3.13.1-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.9 MiB python3-urllib3 noarch 2.3.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.0 MiB snappy x86_64 1.2.1-3.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 71.1 KiB tcl x86_64 1:8.6.15-6.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 4.2 MiB tk x86_64 1:8.6.15-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.6 MiB tzdata noarch 2024b-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.6 MiB xml-common noarch 0.6.3-65.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 78.4 KiB Transaction Summary: Installing: 110 packages Total size of inbound packages is 113 MiB. Need to download 75 MiB. After this operation, 516 MiB extra will be used (install 516 MiB, remove 0 B). [1/2] python3-devel-0:3.13.1-2.fc42.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [2/3] python3-sphinx-autodoc-typehints- 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [3/4] python3-sphinx-1:7.3.7-2.fc41.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [4/5] python3-pytest-0:8.3.4-1.fc42.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [5/6] python3-0:3.13.1-2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [6/7] python3-babel-0:2.16.0-1.fc42.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [7/8] python3-docutils-0:0.21.2-1.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [8/9] python3-imagesize-0:1.4.1-9.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 9/10] python3-jinja2-0:3.1.5-1.fc42.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [10/11] python3-packaging-0:24.2-2.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [11/12] python3-pygments-0:2.18.0-2.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [12/13] python3-requests-0:2.32.3-3.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [13/14] python3-snowballstemmer-0:2.2.0 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [14/15] python3-sphinx-theme-alabaster- 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [15/16] python3-charset-normalizer-0:3. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [16/17] python3-idna-0:3.10-1.fc42.noar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [17/18] python3-urllib3-0:2.3.0-1.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [18/19] python3-iniconfig-0:1.1.1-23.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [19/20] python3-pluggy-0:1.5.0-1.fc41.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [20/21] python3-libs-0:3.13.1-2.fc42.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [21/28] python3-markupsafe-0:3.0.2-1.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [22/34] python3-platformdirs-0:4.2.2-2. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [23/36] freetype-0:2.13.3-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [24/41] python3-dateutil-1:2.8.2-16.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [25/49] expat-0:2.6.4-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [26/50] libb2-0:0.98.1-12.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [27/51] mpdecimal-0:2.5.1-16.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [28/52] python-pip-wheel-0:24.3.1-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [29/53] tzdata-0:2024b-1.fc42.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [30/54] python3-six-0:1.17.0-1.fc42.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [31/55] cairo-0:1.18.2-2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [32/57] harfbuzz-0:10.1.0-2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [33/58] libpng-2:1.6.44-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [34/62] fonts-filesystem-1:2.0.5-17.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [35/63] fontconfig-0:2.15.0-8.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [36/64] libX11-0:1.8.10-2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [37/65] libXext-0:1.3.6-2.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [38/66] libXrender-0:0.9.12-1.fc42.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [39/67] libxcb-0:1.17.0-3.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [40/68] pixman-0:0.44.2-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [41/70] lcms2-0:2.16-4.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [42/71] libimagequant-0:4.0.3-5.fc41.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [43/72] libjpeg-turbo-0:3.1.0-1.fc42.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [44/74] libtiff-0:4.7.0-2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [45/75] libwebp-0:1.5.0-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [46/76] openjpeg-0:2.5.3-2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [47/86] libXau-0:1.0.12-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [48/87] jbigkit-libs-0:2.1-30.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [49/88] liblerc-0:4.0.0-7.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [50/89] fribidi-0:1.0.16-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [51/90] libX11-common-0:1.8.10-2.fc42.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [52/91] glib2-0:2.83.0-3.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [53/92] graphite2-0:1.3.14-16.fc41.x86_ 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [54/93] gnutls-0:3.8.8-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [55/94] default-fonts-core-sans-0:4.2-2 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [56/95] xml-common-0:0.6.3-65.fc41.noar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [57/97] abattis-cantarell-vf-fonts-0:0. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [58/98] google-noto-sans-vf-fonts-0:202 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 59/103] google-noto-fonts-common-0:20 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 60/104] nettle-0:3.10-3.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 61/105] libXft-0:2.3.8-7.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 62/107] pyproject-rpm-macros-0:1.16.4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 63/108] python-rpm-macros-0:3.13-3.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 64/109] python3-rpm-generators-0:14-1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 65/110] python3-rpm-macros-0:3.13-3.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 66/110] python3-boutdata-0:0.2.1-7.fc 100% | 947.8 KiB/s | 146.9 KiB | 00m00s [ 67/110] python3-boututils-0:0.2.1-6.f 100% | 946.6 KiB/s | 147.7 KiB | 00m00s [ 68/110] python3-natsort-0:8.4.0-2.fc4 100% | 2.6 MiB/s | 73.8 KiB | 00m00s [ 69/110] python3-matplotlib-0:3.9.4-2. 100% | 23.4 MiB/s | 4.5 MiB | 00m00s [ 70/110] python3-numpy-1:2.2.1-1.fc42. 100% | 15.5 MiB/s | 7.7 MiB | 00m00s [ 71/110] python3-mpmath-0:1.3.0-10.fc4 100% | 16.4 MiB/s | 1.1 MiB | 00m00s [ 72/110] python3-sympy-0:1.13.3-1.fc42 100% | 23.1 MiB/s | 14.7 MiB | 00m01s [ 73/110] flexiblas-netlib-0:3.4.4-3.fc 100% | 19.9 MiB/s | 3.2 MiB | 00m00s [ 74/110] libgfortran-0:14.2.1-6.fc42.x 100% | 16.4 MiB/s | 939.2 KiB | 00m00s [ 75/110] python3-numpy-f2py-1:2.2.1-1. 100% | 13.7 MiB/s | 448.6 KiB | 00m00s [ 76/110] python3-pooch-0:1.8.2-3.fc41. 100% | 4.4 MiB/s | 126.4 KiB | 00m00s [ 77/110] libqhull_r-1:8.0.2-5.fc41.x86 100% | 9.9 MiB/s | 201.8 KiB | 00m00s [ 78/110] python3-cairo-0:1.25.1-5.fc41 100% | 6.4 MiB/s | 124.6 KiB | 00m00s [ 79/110] dejavu-sans-fonts-0:2.37-24.f 100% | 21.7 MiB/s | 1.3 MiB | 00m00s [ 80/110] python3-contourpy-0:1.3.1-1.f 100% | 9.7 MiB/s | 268.6 KiB | 00m00s [ 81/110] python3-cycler-0:0.11.0-13.fc 100% | 970.2 KiB/s | 21.3 KiB | 00m00s [ 82/110] python3-kiwisolver-0:1.4.8-1. 100% | 3.3 MiB/s | 63.6 KiB | 00m00s [ 83/110] python3-matplotlib-data-0:3.9 100% | 11.6 MiB/s | 509.3 KiB | 00m00s [ 84/110] python3-matplotlib-tk-0:3.9.4 100% | 3.3 MiB/s | 107.5 KiB | 00m00s [ 85/110] python3-fonttools-0:4.55.3-2. 100% | 20.1 MiB/s | 2.9 MiB | 00m00s [ 86/110] python3-pillow-tk-0:11.1.0-1. 100% | 1.2 MiB/s | 29.6 KiB | 00m00s [ 87/110] python3-pillow-0:11.1.0-1.fc4 100% | 12.1 MiB/s | 941.8 KiB | 00m00s [ 88/110] python3-pyparsing-0:3.1.2-7.f 100% | 8.8 MiB/s | 270.3 KiB | 00m00s [ 89/110] flexiblas-0:3.4.4-3.fc41.x86_ 100% | 936.5 KiB/s | 25.3 KiB | 00m00s [ 90/110] python3-netcdf4-0:1.7.2-2.fc4 100% | 10.1 MiB/s | 661.6 KiB | 00m00s [ 91/110] flexiblas-openblas-openmp-0:3 100% | 538.9 KiB/s | 17.2 KiB | 00m00s [ 92/110] libquadmath-0:14.2.1-6.fc42.x 100% | 6.0 MiB/s | 204.3 KiB | 00m00s [ 93/110] python3-tkinter-0:3.13.1-2.fc 100% | 4.7 MiB/s | 354.9 KiB | 00m00s [ 94/110] libraqm-0:0.10.1-1.fc42.x86_6 100% | 448.7 KiB/s | 22.4 KiB | 00m00s [ 95/110] python3-olefile-0:0.47-5.fc41 100% | 2.1 MiB/s | 74.6 KiB | 00m00s [ 96/110] python3-certifi-0:2024.08.30- 100% | 341.8 KiB/s | 14.4 KiB | 00m00s [ 97/110] netcdf-0:4.9.2-7.fc42.x86_64 100% | 8.4 MiB/s | 838.8 KiB | 00m00s [ 98/110] python3-cftime-0:1.6.4-3.fc42 100% | 5.7 MiB/s | 226.0 KiB | 00m00s [ 99/110] python3-scipy-0:1.14.1-2.fc42 100% | 12.6 MiB/s | 16.5 MiB | 00m01s [100/110] blosc-0:1.21.6-1.fc42.x86_64 100% | 2.5 MiB/s | 59.0 KiB | 00m00s [101/110] python3-matplotlib-data-fonts 100% | 16.5 MiB/s | 2.3 MiB | 00m00s [102/110] libaec-0:1.1.3-1.fc42.x86_64 100% | 1.4 MiB/s | 37.4 KiB | 00m00s [103/110] python3-cython-0:3.0.11-2.fc4 100% | 18.8 MiB/s | 3.8 MiB | 00m00s [104/110] hdf5-0:1.14.5-2.fc42.x86_64 100% | 16.5 MiB/s | 2.0 MiB | 00m00s [105/110] snappy-0:1.2.1-3.fc42.x86_64 100% | 1.6 MiB/s | 39.5 KiB | 00m00s [106/110] tcl-1:8.6.15-6.fc42.x86_64 100% | 15.6 MiB/s | 1.1 MiB | 00m00s [107/110] tk-1:8.6.15-1.fc42.x86_64 100% | 17.6 MiB/s | 1.6 MiB | 00m00s [108/110] openblas-0:0.3.28-2.fc42.x86_ 100% | 1.7 MiB/s | 41.0 KiB | 00m00s [109/110] hdf-libs-0:4.3.0-1.fc42.x86_6 100% | 8.9 MiB/s | 290.3 KiB | 00m00s [110/110] openblas-openmp-0:0.3.28-2.fc 100% | 25.7 MiB/s | 5.0 MiB | 00m00s -------------------------------------------------------------------------------- [110/110] Total 100% | 40.5 MiB/s | 74.8 MiB | 00m02s Running transaction [ 1/112] Verify package files 100% | 287.0 B/s | 110.0 B | 00m00s [ 2/112] Prepare transaction 100% | 521.0 B/s | 110.0 B | 00m00s [ 3/112] Installing fonts-filesystem-1 100% | 384.8 KiB/s | 788.0 B | 00m00s [ 4/112] Installing libgfortran-0:14.2 100% | 253.7 MiB/s | 3.0 MiB | 00m00s [ 5/112] Installing python-rpm-macros- 100% | 22.3 MiB/s | 22.8 KiB | 00m00s [ 6/112] Installing libaec-0:1.1.3-1.f 100% | 98.1 MiB/s | 100.5 KiB | 00m00s [ 7/112] Installing libjpeg-turbo-0:3. 100% | 256.7 MiB/s | 788.7 KiB | 00m00s [ 8/112] Installing python3-rpm-macros 100% | 6.5 MiB/s | 6.7 KiB | 00m00s [ 9/112] Installing python3-matplotlib 100% | 208.2 MiB/s | 7.9 MiB | 00m00s [ 10/112] Installing python3-matplotlib 100% | 92.6 MiB/s | 758.7 KiB | 00m00s [ 11/112] Installing tcl-1:8.6.15-6.fc4 100% | 157.4 MiB/s | 4.2 MiB | 00m00s [ 12/112] Installing libwebp-0:1.5.0-1. 100% | 159.9 MiB/s | 818.6 KiB | 00m00s [ 13/112] Installing libpng-2:1.6.44-1. 100% | 60.3 MiB/s | 247.0 KiB | 00m00s [ 14/112] Installing tzdata-0:2024b-1.f 100% | 23.8 MiB/s | 1.9 MiB | 00m00s [ 15/112] Installing pyproject-rpm-macr 100% | 56.2 MiB/s | 115.0 KiB | 00m00s [ 16/112] Installing hdf-libs-0:4.3.0-1 100% | 136.8 MiB/s | 700.5 KiB | 00m00s [ 17/112] Installing hdf5-0:1.14.5-2.fc 100% | 222.7 MiB/s | 7.1 MiB | 00m00s [ 18/112] Installing dejavu-sans-fonts- 100% | 262.3 MiB/s | 5.5 MiB | 00m00s [ 19/112] Installing abattis-cantarell- 100% | 94.9 MiB/s | 194.4 KiB | 00m00s [ 20/112] Installing nettle-0:3.10-3.fc 100% | 155.5 MiB/s | 796.1 KiB | 00m00s [ 21/112] Installing gnutls-0:3.8.8-1.f 100% | 203.1 MiB/s | 3.2 MiB | 00m00s [ 22/112] Installing glib2-0:2.83.0-3.f 100% | 222.2 MiB/s | 14.7 MiB | 00m00s [ 23/112] Installing google-noto-fonts- 100% | 0.0 B/s | 18.5 KiB | 00m00s [ 24/112] Installing google-noto-sans-v 100% | 231.9 MiB/s | 1.4 MiB | 00m00s [ 25/112] Installing default-fonts-core 100% | 8.9 MiB/s | 18.2 KiB | 00m00s [ 26/112] Installing openblas-0:0.3.28- 100% | 105.8 MiB/s | 108.3 KiB | 00m00s [ 27/112] Installing openblas-openmp-0: 100% | 374.2 MiB/s | 39.3 MiB | 00m00s [ 28/112] Installing snappy-0:1.2.1-3.f 100% | 71.1 MiB/s | 72.8 KiB | 00m00s [ 29/112] Installing blosc-0:1.21.6-1.f 100% | 65.0 MiB/s | 133.1 KiB | 00m00s [ 30/112] Installing netcdf-0:4.9.2-7.f 100% | 96.2 MiB/s | 2.4 MiB | 00m00s [ 31/112] Installing xml-common-0:0.6.3 100% | 39.6 MiB/s | 81.1 KiB | 00m00s [ 32/112] Installing graphite2-0:1.3.14 100% | 94.8 MiB/s | 194.1 KiB | 00m00s [ 33/112] Installing harfbuzz-0:10.1.0- 100% | 204.4 MiB/s | 2.7 MiB | 00m00s [ 34/112] Installing freetype-0:2.13.3- 100% | 166.4 MiB/s | 852.2 KiB | 00m00s [ 35/112] Installing fontconfig-0:2.15. 100% | 774.7 KiB/s | 811.1 KiB | 00m01s [ 36/112] Installing libX11-common-0:1. 100% | 62.5 MiB/s | 1.2 MiB | 00m00s [ 37/112] Installing fribidi-0:1.0.16-1 100% | 96.2 MiB/s | 197.0 KiB | 00m00s [ 38/112] Installing libraqm-0:0.10.1-1 100% | 33.0 MiB/s | 33.8 KiB | 00m00s [ 39/112] Installing liblerc-0:4.0.0-7. 100% | 148.7 MiB/s | 609.0 KiB | 00m00s [ 40/112] Installing jbigkit-libs-0:2.1 100% | 116.8 MiB/s | 119.6 KiB | 00m00s [ 41/112] Installing libtiff-0:4.7.0-2. 100% | 202.6 MiB/s | 622.3 KiB | 00m00s [ 42/112] Installing libXau-0:1.0.12-1. 100% | 25.2 MiB/s | 77.4 KiB | 00m00s [ 43/112] Installing libxcb-0:1.17.0-3. 100% | 118.8 MiB/s | 1.2 MiB | 00m00s [ 44/112] Installing libX11-0:1.8.10-2. 100% | 257.1 MiB/s | 1.3 MiB | 00m00s [ 45/112] Installing libXrender-0:0.9.1 100% | 48.8 MiB/s | 50.0 KiB | 00m00s [ 46/112] Installing libXft-0:2.3.8-7.f 100% | 14.7 MiB/s | 166.0 KiB | 00m00s [ 47/112] Installing tk-1:8.6.15-1.fc42 100% | 147.4 MiB/s | 3.7 MiB | 00m00s [ 48/112] Installing libXext-0:1.3.6-2. 100% | 89.2 MiB/s | 91.3 KiB | 00m00s [ 49/112] Installing openjpeg-0:2.5.3-2 100% | 147.6 MiB/s | 453.3 KiB | 00m00s [ 50/112] Installing libimagequant-0:4. 100% | 163.2 MiB/s | 668.3 KiB | 00m00s [ 51/112] Installing lcms2-0:2.16-4.fc4 100% | 138.8 MiB/s | 426.5 KiB | 00m00s [ 52/112] Installing pixman-0:0.44.2-1. 100% | 216.7 MiB/s | 665.6 KiB | 00m00s [ 53/112] Installing cairo-0:1.18.2-2.f 100% | 174.9 MiB/s | 1.7 MiB | 00m00s [ 54/112] Installing libquadmath-0:14.2 100% | 159.8 MiB/s | 327.2 KiB | 00m00s [ 55/112] Installing flexiblas-0:3.4.4- 100% | 48.5 MiB/s | 49.7 KiB | 00m00s [ 56/112] Installing flexiblas-openblas 100% | 43.1 MiB/s | 44.1 KiB | 00m00s [ 57/112] Installing flexiblas-netlib-0 100% | 242.4 MiB/s | 10.7 MiB | 00m00s [ 58/112] Installing python-pip-wheel-0 100% | 414.7 MiB/s | 1.2 MiB | 00m00s [ 59/112] Installing mpdecimal-0:2.5.1- 100% | 201.2 MiB/s | 206.0 KiB | 00m00s [ 60/112] Installing libb2-0:0.98.1-12. 100% | 42.3 MiB/s | 43.3 KiB | 00m00s [ 61/112] Installing expat-0:2.6.4-1.fc 100% | 46.8 MiB/s | 287.6 KiB | 00m00s [ 62/112] Installing python3-libs-0:3.1 100% | 157.1 MiB/s | 40.2 MiB | 00m00s [ 63/112] Installing python3-0:3.13.1-2 100% | 31.6 MiB/s | 32.4 KiB | 00m00s [ 64/112] Installing python3-packaging- 100% | 79.2 MiB/s | 568.0 KiB | 00m00s [ 65/112] Installing python3-idna-0:3.1 100% | 123.9 MiB/s | 634.3 KiB | 00m00s [ 66/112] Installing python3-tkinter-0: 100% | 157.6 MiB/s | 1.9 MiB | 00m00s [ 67/112] Installing python3-urllib3-0: 100% | 113.1 MiB/s | 1.0 MiB | 00m00s [ 68/112] Installing python3-rpm-genera 100% | 81.0 MiB/s | 82.9 KiB | 00m00s [ 69/112] Installing python3-devel-0:3. 100% | 95.6 MiB/s | 1.8 MiB | 00m00s [ 70/112] Installing python3-numpy-1:2. 100% | 142.2 MiB/s | 41.1 MiB | 00m00s [ 71/112] Installing python3-numpy-f2py 100% | 89.9 MiB/s | 2.1 MiB | 00m00s [ 72/112] Installing python3-contourpy- 100% | 116.4 MiB/s | 834.4 KiB | 00m00s [ 73/112] Installing python3-cftime-0:1 100% | 103.5 MiB/s | 635.8 KiB | 00m00s [ 74/112] Installing python3-babel-0:2. 100% | 97.6 MiB/s | 28.5 MiB | 00m00s [ 75/112] Installing python3-docutils-0 100% | 84.1 MiB/s | 5.0 MiB | 00m00s [ 76/112] Installing python3-imagesize- 100% | 12.5 MiB/s | 38.3 KiB | 00m00s [ 77/112] Installing python3-pygments-0 100% | 73.3 MiB/s | 10.8 MiB | 00m00s [ 78/112] Installing python3-snowballst 100% | 134.2 MiB/s | 1.7 MiB | 00m00s [ 79/112] Installing python3-sphinx-the 100% | 22.7 MiB/s | 46.4 KiB | 00m00s [ 80/112] Installing python3-charset-no 100% | 24.8 MiB/s | 329.5 KiB | 00m00s [ 81/112] Installing python3-requests-0 100% | 81.1 MiB/s | 498.0 KiB | 00m00s [ 82/112] Installing python3-iniconfig- 100% | 11.5 MiB/s | 23.6 KiB | 00m00s [ 83/112] Installing python3-pluggy-0:1 100% | 64.9 MiB/s | 199.4 KiB | 00m00s [ 84/112] Installing python3-natsort-0: 100% | 15.1 MiB/s | 262.1 KiB | 00m00s [ 85/112] Installing python3-markupsafe 100% | 19.6 MiB/s | 60.2 KiB | 00m00s [ 86/112] Installing python3-jinja2-0:3 100% | 88.3 MiB/s | 2.9 MiB | 00m00s [ 87/112] Installing python3-sphinx-1:7 100% | 91.9 MiB/s | 11.0 MiB | 00m00s [ 88/112] Installing python3-mpmath-0:1 100% | 124.1 MiB/s | 5.2 MiB | 00m00s [ 89/112] Installing python3-sympy-0:1. 100% | 79.9 MiB/s | 79.2 MiB | 00m01s [ 90/112] Installing python3-platformdi 100% | 42.7 MiB/s | 175.0 KiB | 00m00s [ 91/112] Installing python3-pooch-0:1. 100% | 48.1 MiB/s | 640.5 KiB | 00m00s [ 92/112] Installing python3-scipy-0:1. 100% | 108.7 MiB/s | 67.1 MiB | 00m01s [ 93/112] Installing python3-cairo-0:1. 100% | 15.2 MiB/s | 496.6 KiB | 00m00s [ 94/112] Installing python3-cycler-0:0 100% | 13.0 MiB/s | 39.8 KiB | 00m00s [ 95/112] Installing python3-fonttools- 100% | 59.8 MiB/s | 18.3 MiB | 00m00s [ 96/112] Installing python3-kiwisolver 100% | 38.3 MiB/s | 157.0 KiB | 00m00s [ 97/112] Installing python3-pyparsing- 100% | 141.3 MiB/s | 1.0 MiB | 00m00s [ 98/112] Installing python3-six-0:1.17 100% | 58.1 MiB/s | 119.0 KiB | 00m00s [ 99/112] Installing python3-dateutil-1 100% | 48.4 MiB/s | 892.9 KiB | 00m00s [100/112] Installing python3-olefile-0: 100% | 111.9 MiB/s | 343.6 KiB | 00m00s [101/112] Installing python3-pillow-0:1 100% | 79.7 MiB/s | 4.0 MiB | 00m00s [102/112] Installing python3-pillow-tk- 100% | 72.0 MiB/s | 73.7 KiB | 00m00s [103/112] Installing python3-certifi-0: 100% | 3.4 MiB/s | 10.4 KiB | 00m00s [104/112] Installing python3-cython-0:3 100% | 87.9 MiB/s | 18.1 MiB | 00m00s [105/112] Installing python3-netcdf4-0: 100% | 172.3 MiB/s | 2.4 MiB | 00m00s [106/112] Installing libqhull_r-1:8.0.2 100% | 157.6 MiB/s | 484.2 KiB | 00m00s [107/112] Installing python3-matplotlib 100% | 50.6 MiB/s | 259.0 KiB | 00m00s [108/112] Installing python3-matplotlib 100% | 82.0 MiB/s | 21.1 MiB | 00m00s [109/112] Installing python3-boututils- 100% | 49.7 MiB/s | 458.3 KiB | 00m00s [110/112] Installing python3-boutdata-0 100% | 68.1 MiB/s | 558.2 KiB | 00m00s [111/112] Installing python3-sphinx-aut 100% | 3.0 MiB/s | 121.2 KiB | 00m00s [112/112] Installing python3-pytest-0:8 100% | 47.6 MiB/s | 21.0 MiB | 00m00s Warning: skipped OpenPGP checks for 110 packages from repositories: copr_base, http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch Complete! Finish: build setup for python-xbout-0.3.6-4.fc42.src.rpm Start: rpmbuild python-xbout-0.3.6-4.fc42.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1721347200 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.noVhX4 + umask 022 + cd /builddir/build/BUILD/python-xbout-0.3.6-build + test -d /builddir/build/BUILD/python-xbout-0.3.6-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/python-xbout-0.3.6-build + /usr/bin/rm -rf /builddir/build/BUILD/python-xbout-0.3.6-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-xbout-0.3.6-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-xbout-0.3.6-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.Bg0bbi + umask 022 + cd /builddir/build/BUILD/python-xbout-0.3.6-build + cd /builddir/build/BUILD/python-xbout-0.3.6-build + rm -rf xbout-0.3.6 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/xbout-0.3.6.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd xbout-0.3.6 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/xarray-version.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/sphinx-theme.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/fix-dirs.patch Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.gWuVke + rm -rf xbout.egg-info + RPM_EC=0 ++ jobs -p + exit 0 + umask 022 + cd /builddir/build/BUILD/python-xbout-0.3.6-build + cd xbout-0.3.6 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-xbout-0.3.6-build/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-xbout-0.3.6-build/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-xbout-0.3.6-build/pyproject-wheeldir --output /builddir/build/BUILD/python-xbout-0.3.6-build/python-xbout-0.3.6-4.fc42.x86_64-pyproject-buildrequires -r Handling setuptools >= 65 from build-system.requires Requirement not satisfied: setuptools >= 65 Handling setuptools_scm[toml] >= 7 from build-system.requires Requirement not satisfied: setuptools_scm[toml] >= 7 Handling wheel >= 0.29.0 from build-system.requires Requirement not satisfied: wheel >= 0.29.0 Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/python-xbout-0.3.6-build/python-xbout-0.3.6-4.fc42.x86_64-pyproject-buildrequires Wrote: /builddir/build/SRPMS/python-xbout-0.3.6-4.fc42.buildreqs.nosrc.rpm + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Additional repo http_kojipkgs_fedorapr 100% | 25.7 KiB/s | 3.8 KiB | 00m00s fedora 100% | 240.7 KiB/s | 27.4 KiB | 00m00s Copr repository 100% | 20.2 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.16.4-1.fc42.noarch" is already installed. Package "python3-boutdata-0.2.1-7.fc41.noarch" is already installed. Package "python3-devel-3.13.1-2.fc42.x86_64" is already installed. Package "python3-sphinx-autodoc-typehints-2.5.0-4.fc42.noarch" is already installed. Package "python3-packaging-24.2-2.fc42.noarch" is already installed. Package "python3-pytest-8.3.4-1.fc42.noarch" is already installed. Package "python3-sphinx-1:7.3.7-2.fc41.noarch" is already installed. Package Arch Version Repository Size Installing: python3-pip noarch 24.3.1-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 11.3 MiB python3-setuptools noarch 74.1.3-4.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 8.4 MiB python3-setuptools_scm noarch 8.1.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 320.0 KiB python3-setuptools_scm+toml noarch 8.1.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 9.3 KiB python3-wheel noarch 1:0.45.1-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 541.9 KiB Transaction Summary: Installing: 5 packages Total size of inbound packages is 5 MiB. Need to download 159 KiB. After this operation, 21 MiB extra will be used (install 21 MiB, remove 0 B). [1/1] python3-pip-0:24.3.1-1.fc42.noarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [1/1] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/2] python3-setuptools-0:74.1.3-4.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [2/2] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/3] python3-setuptools_scm-0:8.1.0-1. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [3/3] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/4] python3-setuptools_scm+toml-0:8.1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [4/4] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/5] python3-wheel-1:0.45.1-1.fc42.noa 100% | 1.5 MiB/s | 159.1 KiB | 00m00s -------------------------------------------------------------------------------- [5/5] Total 100% | 0.0 B/s | 0.0 B | 00m00s Running transaction [1/7] Verify package files 100% | 312.0 B/s | 5.0 B | 00m00s [2/7] Prepare transaction 100% | 104.0 B/s | 5.0 B | 00m00s [3/7] Installing python3-setuptools-0:7 100% | 65.8 MiB/s | 8.6 MiB | 00m00s [4/7] Installing python3-setuptools_scm 100% | 55.3 MiB/s | 339.7 KiB | 00m00s [5/7] Installing python3-setuptools_scm 100% | 0.0 B/s | 124.0 B | 00m00s [6/7] Installing python3-wheel-1:0.45.1 100% | 61.0 MiB/s | 562.0 KiB | 00m00s [7/7] Installing python3-pip-0:24.3.1-1 100% | 37.6 MiB/s | 11.6 MiB | 00m00s Warning: skipped OpenPGP checks for 5 packages from repository: http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1721347200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.lG8NAC + umask 022 + cd /builddir/build/BUILD/python-xbout-0.3.6-build + cd xbout-0.3.6 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-xbout-0.3.6-build/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-xbout-0.3.6-build/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-xbout-0.3.6-build/pyproject-wheeldir --output /builddir/build/BUILD/python-xbout-0.3.6-build/python-xbout-0.3.6-4.fc42.x86_64-pyproject-buildrequires -r Handling setuptools >= 65 from build-system.requires Requirement satisfied: setuptools >= 65 (installed: setuptools 74.1.3) Handling setuptools_scm[toml] >= 7 from build-system.requires Requirement satisfied: setuptools_scm[toml] >= 7 (installed: setuptools_scm 8.1.0) (extras are currently not checked) Handling wheel >= 0.29.0 from build-system.requires Requirement satisfied: wheel >= 0.29.0 (installed: wheel 0.45.1) /usr/lib/python3.13/site-packages/setuptools_scm/git.py:312: UserWarning: git archive did not support describe output warnings.warn("git archive did not support describe output") running egg_info creating xbout.egg-info writing xbout.egg-info/PKG-INFO writing dependency_links to xbout.egg-info/dependency_links.txt writing requirements to xbout.egg-info/requires.txt writing top-level names to xbout.egg-info/top_level.txt writing manifest file 'xbout.egg-info/SOURCES.txt' WARNING setuptools_scm._file_finders.git git archive detected - fallback to listing all files adding license file 'LICENSE' writing manifest file 'xbout.egg-info/SOURCES.txt' /usr/lib/python3.13/site-packages/setuptools_scm/git.py:312: UserWarning: git archive did not support describe output warnings.warn("git archive did not support describe output") running dist_info writing xbout.egg-info/PKG-INFO writing dependency_links to xbout.egg-info/dependency_links.txt writing requirements to xbout.egg-info/requires.txt writing top-level names to xbout.egg-info/top_level.txt WARNING setuptools_scm._file_finders.git git archive detected - fallback to listing all files adding license file 'LICENSE' writing manifest file 'xbout.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout-0.3.6.dist-info' Handling xarray>=0.18.0 from hook generated metadata: Requires-Dist (xbout) Requirement not satisfied: xarray>=0.18.0 Handling boutdata>=0.1.4 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: boutdata>=0.1.4 (installed: boutdata 0.2.1) Handling dask[array]>=2.10.0 from hook generated metadata: Requires-Dist (xbout) Requirement not satisfied: dask[array]>=2.10.0 Handling gelidum>=0.5.3 from hook generated metadata: Requires-Dist (xbout) Requirement not satisfied: gelidum>=0.5.3 Handling natsort>=5.5.0 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: natsort>=5.5.0 (installed: natsort 8.4.0) Handling matplotlib!=3.3.0,!=3.3.1,!=3.3.2,>=3.1.1 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: matplotlib!=3.3.0,!=3.3.1,!=3.3.2,>=3.1.1 (installed: matplotlib 3.9.4) Handling animatplot-ng>=0.4.2 from hook generated metadata: Requires-Dist (xbout) Requirement not satisfied: animatplot-ng>=0.4.2 Handling netcdf4>=1.4.0 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: netcdf4>=1.4.0 (installed: netcdf4 1.7.2) Handling Pillow>=6.1.0 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: Pillow>=6.1.0 (installed: Pillow 11.1.0) Handling k3d>=2.8.0; extra == "3d-plot" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: k3d>=2.8.0; extra == "3d-plot" Handling mayavi>=4.7.2; extra == "3d-plot" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: mayavi>=4.7.2; extra == "3d-plot" Handling wand; extra == "3d-plot" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: wand; extra == "3d-plot" Handling numpy>=1.18.0; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: numpy>=1.18.0; extra == "calc" Handling scipy>=1.3.0; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: scipy>=1.3.0; extra == "calc" Handling dask>=2.2.0; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: dask>=2.2.0; extra == "calc" Handling statsmodels>=0.10.1; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: statsmodels>=0.10.1; extra == "calc" Handling xrft; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: xrft; extra == "calc" Handling xhistogram; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: xhistogram; extra == "calc" Handling sphinx>=5.3; extra == "docs" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: sphinx>=5.3; extra == "docs" Handling sphinx-book-theme>=0.4.0rc1; extra == "docs" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: sphinx-book-theme>=0.4.0rc1; extra == "docs" Handling sphinx-autodoc-typehints>=1.19; extra == "docs" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: sphinx-autodoc-typehints>=1.19; extra == "docs" Handling pytest>=3.3.0; extra == "tests" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: pytest>=3.3.0; extra == "tests" Handling pytest-cov; extra == "tests" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: pytest-cov; extra == "tests" + cat /builddir/build/BUILD/python-xbout-0.3.6-build/python-xbout-0.3.6-4.fc42.x86_64-pyproject-buildrequires + rm -rfv xbout-0.3.6.dist-info/ removed 'xbout-0.3.6.dist-info/top_level.txt' removed 'xbout-0.3.6.dist-info/METADATA' removed 'xbout-0.3.6.dist-info/LICENSE' removed directory 'xbout-0.3.6.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-xbout-0.3.6-4.fc42.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Additional repo http_kojipkgs_fedorapr 100% | 63.8 KiB/s | 3.8 KiB | 00m00s Copr repository 100% | 27.0 KiB/s | 1.5 KiB | 00m00s fedora 100% | 722.1 KiB/s | 27.4 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.16.4-1.fc42.noarch" is already installed. Package "python3-boutdata-0.2.1-7.fc41.noarch" is already installed. Package "python3-devel-3.13.1-2.fc42.x86_64" is already installed. Package "python3-sphinx-autodoc-typehints-2.5.0-4.fc42.noarch" is already installed. Package "python3-boutdata-0.2.1-7.fc41.noarch" is already installed. Package "python3-natsort-8.4.0-2.fc41.noarch" is already installed. Package "python3-netcdf4-1.7.2-2.fc42.x86_64" is already installed. Package "python3-packaging-24.2-2.fc42.noarch" is already installed. Package "python3-pillow-11.1.0-1.fc42.x86_64" is already installed. Package "python3-pip-24.3.1-1.fc42.noarch" is already installed. Package "python3-pytest-8.3.4-1.fc42.noarch" is already installed. Package "python3-setuptools-74.1.3-4.fc42.noarch" is already installed. Package "python3-setuptools_scm-8.1.0-1.fc42.noarch" is already installed. Package "python3-setuptools_scm+toml-8.1.0-1.fc42.noarch" is already installed. Package "python3-sphinx-1:7.3.7-2.fc41.noarch" is already installed. Package "python3-wheel-1:0.45.1-1.fc42.noarch" is already installed. Package Arch Version Repository Size Installing: python3-animatplot noarch 0.4.4-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 114.0 KiB python3-dask noarch 2024.12.1-1.fc42~bootstrap http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 17.3 MiB python3-dask+array noarch 2024.12.1-1.fc42~bootstrap http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 6.8 KiB python3-gelidum noarch 0.7.0-5.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 113.1 KiB python3-xarray noarch 2024.10.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 17.8 MiB Installing dependencies: libyaml x86_64 0.2.5-15.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 134.4 KiB python3-click noarch 8.1.7-6.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.1 MiB python3-cloudpickle noarch 3.1.0-2.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 128.0 KiB python3-fsspec noarch 2024.12.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.7 MiB python3-locket noarch 1.0.0-10.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 20.8 KiB python3-pandas x86_64 2.2.3-1.fc42~bootstrap http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 42.2 MiB python3-partd noarch 1.4.2-2.fc41 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 164.0 KiB python3-pytz noarch 2024.2-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 223.7 KiB python3-pyyaml x86_64 6.0.2-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 781.0 KiB python3-toolz noarch 1.0.0-1.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 615.9 KiB Transaction Summary: Installing: 15 packages Total size of inbound packages is 15 MiB. Need to download 15 MiB. After this operation, 82 MiB extra will be used (install 82 MiB, remove 0 B). [1/8] python3-click-0:8.1.7-6.fc41.noar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 2/15] python3-dask+array-0:2024.12.1- 100% | 147.7 KiB/s | 12.4 KiB | 00m00s [ 3/15] python3-animatplot-0:0.4.4-2.fc 100% | 436.1 KiB/s | 47.1 KiB | 00m00s [ 4/15] python3-gelidum-0:0.7.0-5.fc41. 100% | 679.7 KiB/s | 45.5 KiB | 00m00s [ 5/15] python3-dask-0:2024.12.1-1.fc42 100% | 16.6 MiB/s | 3.1 MiB | 00m00s [ 6/15] python3-pytz-0:2024.2-1.fc42.no 100% | 2.4 MiB/s | 59.8 KiB | 00m00s [ 7/15] python3-cloudpickle-0:3.1.0-2.f 100% | 2.3 MiB/s | 47.2 KiB | 00m00s [ 8/15] python3-fsspec-0:2024.12.0-1.fc 100% | 11.6 MiB/s | 404.1 KiB | 00m00s [ 9/15] python3-xarray-0:2024.10.0-1.fc 100% | 16.1 MiB/s | 2.7 MiB | 00m00s [10/15] python3-partd-0:1.4.2-2.fc41.no 100% | 1.3 MiB/s | 54.8 KiB | 00m00s [11/15] python3-pyyaml-0:6.0.2-1.fc42.x 100% | 4.5 MiB/s | 218.8 KiB | 00m00s [12/15] python3-toolz-0:1.0.0-1.fc42.no 100% | 5.2 MiB/s | 155.7 KiB | 00m00s [13/15] libyaml-0:0.2.5-15.fc41.x86_64 100% | 1.7 MiB/s | 59.4 KiB | 00m00s [14/15] python3-locket-0:1.0.0-10.fc41. 100% | 376.9 KiB/s | 17.7 KiB | 00m00s [15/15] python3-pandas-0:2.2.3-1.fc42~b 100% | 28.1 MiB/s | 7.8 MiB | 00m00s -------------------------------------------------------------------------------- [15/15] Total 100% | 33.9 MiB/s | 14.7 MiB | 00m00s Running transaction [ 1/17] Verify package files 100% | 294.0 B/s | 15.0 B | 00m00s [ 2/17] Prepare transaction 100% | 234.0 B/s | 15.0 B | 00m00s [ 3/17] Installing python3-toolz-0:1.0. 100% | 68.9 MiB/s | 635.2 KiB | 00m00s [ 4/17] Installing python3-locket-0:1.0 100% | 22.7 MiB/s | 23.3 KiB | 00m00s [ 5/17] Installing python3-partd-0:1.4. 100% | 33.8 MiB/s | 173.2 KiB | 00m00s [ 6/17] Installing libyaml-0:0.2.5-15.f 100% | 132.6 MiB/s | 135.8 KiB | 00m00s [ 7/17] Installing python3-pyyaml-0:6.0 100% | 77.6 MiB/s | 794.8 KiB | 00m00s [ 8/17] Installing python3-fsspec-0:202 100% | 109.5 MiB/s | 1.8 MiB | 00m00s [ 9/17] Installing python3-cloudpickle- 100% | 64.3 MiB/s | 131.6 KiB | 00m00s [10/17] Installing python3-click-0:8.1. 100% | 118.6 MiB/s | 1.1 MiB | 00m00s [11/17] Installing python3-dask-0:2024. 100% | 175.9 MiB/s | 17.4 MiB | 00m00s [12/17] Installing python3-pytz-0:2024. 100% | 37.3 MiB/s | 229.0 KiB | 00m00s [13/17] Installing python3-pandas-0:2.2 100% | 112.0 MiB/s | 42.4 MiB | 00m00s [14/17] Installing python3-xarray-0:202 100% | 121.5 MiB/s | 17.9 MiB | 00m00s [15/17] Installing python3-dask+array-0 100% | 0.0 B/s | 124.0 B | 00m00s [16/17] Installing python3-gelidum-0:0. 100% | 24.4 MiB/s | 124.9 KiB | 00m00s [17/17] Installing python3-animatplot-0 100% | 1.5 MiB/s | 125.6 KiB | 00m00s Warning: skipped OpenPGP checks for 15 packages from repository: http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1721347200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.aPZfY3 + umask 022 + cd /builddir/build/BUILD/python-xbout-0.3.6-build + cd xbout-0.3.6 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-xbout-0.3.6-build/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-xbout-0.3.6-build/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-xbout-0.3.6-build/pyproject-wheeldir --output /builddir/build/BUILD/python-xbout-0.3.6-build/python-xbout-0.3.6-4.fc42.x86_64-pyproject-buildrequires -r Handling setuptools >= 65 from build-system.requires Requirement satisfied: setuptools >= 65 (installed: setuptools 74.1.3) Handling setuptools_scm[toml] >= 7 from build-system.requires Requirement satisfied: setuptools_scm[toml] >= 7 (installed: setuptools_scm 8.1.0) (extras are currently not checked) Handling wheel >= 0.29.0 from build-system.requires Requirement satisfied: wheel >= 0.29.0 (installed: wheel 0.45.1) /usr/lib/python3.13/site-packages/setuptools_scm/git.py:312: UserWarning: git archive did not support describe output warnings.warn("git archive did not support describe output") running egg_info writing xbout.egg-info/PKG-INFO writing dependency_links to xbout.egg-info/dependency_links.txt writing requirements to xbout.egg-info/requires.txt writing top-level names to xbout.egg-info/top_level.txt WARNING setuptools_scm._file_finders.git git archive detected - fallback to listing all files adding license file 'LICENSE' writing manifest file 'xbout.egg-info/SOURCES.txt' /usr/lib/python3.13/site-packages/setuptools_scm/git.py:312: UserWarning: git archive did not support describe output warnings.warn("git archive did not support describe output") running dist_info writing xbout.egg-info/PKG-INFO writing dependency_links to xbout.egg-info/dependency_links.txt writing requirements to xbout.egg-info/requires.txt writing top-level names to xbout.egg-info/top_level.txt WARNING setuptools_scm._file_finders.git git archive detected - fallback to listing all files adding license file 'LICENSE' writing manifest file 'xbout.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout-0.3.6.dist-info' Handling xarray>=0.18.0 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: xarray>=0.18.0 (installed: xarray 2024.10.0) Handling boutdata>=0.1.4 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: boutdata>=0.1.4 (installed: boutdata 0.2.1) Handling dask[array]>=2.10.0 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: dask[array]>=2.10.0 (installed: dask 2024.12.1) (extras are currently not checked) Handling gelidum>=0.5.3 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: gelidum>=0.5.3 (installed: gelidum 0.7.0) Handling natsort>=5.5.0 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: natsort>=5.5.0 (installed: natsort 8.4.0) Handling matplotlib!=3.3.0,!=3.3.1,!=3.3.2,>=3.1.1 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: matplotlib!=3.3.0,!=3.3.1,!=3.3.2,>=3.1.1 (installed: matplotlib 3.9.4) Handling animatplot-ng>=0.4.2 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: animatplot-ng>=0.4.2 (installed: animatplot-ng 0.4.4) Handling netcdf4>=1.4.0 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: netcdf4>=1.4.0 (installed: netcdf4 1.7.2) Handling Pillow>=6.1.0 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: Pillow>=6.1.0 (installed: Pillow 11.1.0) Handling k3d>=2.8.0; extra == "3d-plot" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: k3d>=2.8.0; extra == "3d-plot" Handling mayavi>=4.7.2; extra == "3d-plot" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: mayavi>=4.7.2; extra == "3d-plot" Handling wand; extra == "3d-plot" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: wand; extra == "3d-plot" Handling numpy>=1.18.0; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: numpy>=1.18.0; extra == "calc" Handling scipy>=1.3.0; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: scipy>=1.3.0; extra == "calc" Handling dask>=2.2.0; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: dask>=2.2.0; extra == "calc" Handling statsmodels>=0.10.1; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: statsmodels>=0.10.1; extra == "calc" Handling xrft; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: xrft; extra == "calc" Handling xhistogram; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: xhistogram; extra == "calc" Handling sphinx>=5.3; extra == "docs" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: sphinx>=5.3; extra == "docs" Handling sphinx-book-theme>=0.4.0rc1; extra == "docs" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: sphinx-book-theme>=0.4.0rc1; extra == "docs" Handling sphinx-autodoc-typehints>=1.19; extra == "docs" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: sphinx-autodoc-typehints>=1.19; extra == "docs" Handling pytest>=3.3.0; extra == "tests" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: pytest>=3.3.0; extra == "tests" Handling pytest-cov; extra == "tests" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: pytest-cov; extra == "tests" + cat /builddir/build/BUILD/python-xbout-0.3.6-build/python-xbout-0.3.6-4.fc42.x86_64-pyproject-buildrequires + rm -rfv xbout-0.3.6.dist-info/ removed 'xbout-0.3.6.dist-info/top_level.txt' removed 'xbout-0.3.6.dist-info/METADATA' removed 'xbout-0.3.6.dist-info/LICENSE' removed directory 'xbout-0.3.6.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-xbout-0.3.6-4.fc42.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Copr repository 100% | 24.8 KiB/s | 1.5 KiB | 00m00s Additional repo http_kojipkgs_fedorapr 100% | 63.8 KiB/s | 3.8 KiB | 00m00s fedora 100% | 527.7 KiB/s | 27.4 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.16.4-1.fc42.noarch" is already installed. Package "python3-boutdata-0.2.1-7.fc41.noarch" is already installed. Package "python3-devel-3.13.1-2.fc42.x86_64" is already installed. Nothing to do. Package "python3-sphinx-autodoc-typehints-2.5.0-4.fc42.noarch" is already installed. Package "python3-animatplot-0.4.4-2.fc41.noarch" is already installed. Package "python3-boutdata-0.2.1-7.fc41.noarch" is already installed. Package "python3-dask-2024.12.1-1.fc42~bootstrap.noarch" is already installed. Package "python3-dask+array-2024.12.1-1.fc42~bootstrap.noarch" is already installed. Package "python3-gelidum-0.7.0-5.fc41.noarch" is already installed. Package "python3-natsort-8.4.0-2.fc41.noarch" is already installed. Package "python3-netcdf4-1.7.2-2.fc42.x86_64" is already installed. Package "python3-packaging-24.2-2.fc42.noarch" is already installed. Package "python3-pillow-11.1.0-1.fc42.x86_64" is already installed. Package "python3-pip-24.3.1-1.fc42.noarch" is already installed. Package "python3-pytest-8.3.4-1.fc42.noarch" is already installed. Package "python3-setuptools-74.1.3-4.fc42.noarch" is already installed. Package "python3-setuptools_scm-8.1.0-1.fc42.noarch" is already installed. Package "python3-setuptools_scm+toml-8.1.0-1.fc42.noarch" is already installed. Package "python3-sphinx-1:7.3.7-2.fc41.noarch" is already installed. Package "python3-wheel-1:0.45.1-1.fc42.noarch" is already installed. Package "python3-xarray-2024.10.0-1.fc42.noarch" is already installed. Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1721347200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.iBnKHK + umask 022 + cd /builddir/build/BUILD/python-xbout-0.3.6-build + cd xbout-0.3.6 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-xbout-0.3.6-build/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-xbout-0.3.6-build/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-xbout-0.3.6-build/pyproject-wheeldir --output /builddir/build/BUILD/python-xbout-0.3.6-build/python-xbout-0.3.6-4.fc42.x86_64-pyproject-buildrequires -r Handling setuptools >= 65 from build-system.requires Requirement satisfied: setuptools >= 65 (installed: setuptools 74.1.3) Handling setuptools_scm[toml] >= 7 from build-system.requires Requirement satisfied: setuptools_scm[toml] >= 7 (installed: setuptools_scm 8.1.0) (extras are currently not checked) Handling wheel >= 0.29.0 from build-system.requires Requirement satisfied: wheel >= 0.29.0 (installed: wheel 0.45.1) /usr/lib/python3.13/site-packages/setuptools_scm/git.py:312: UserWarning: git archive did not support describe output warnings.warn("git archive did not support describe output") running egg_info writing xbout.egg-info/PKG-INFO writing dependency_links to xbout.egg-info/dependency_links.txt writing requirements to xbout.egg-info/requires.txt writing top-level names to xbout.egg-info/top_level.txt WARNING setuptools_scm._file_finders.git git archive detected - fallback to listing all files adding license file 'LICENSE' writing manifest file 'xbout.egg-info/SOURCES.txt' /usr/lib/python3.13/site-packages/setuptools_scm/git.py:312: UserWarning: git archive did not support describe output warnings.warn("git archive did not support describe output") running dist_info writing xbout.egg-info/PKG-INFO writing dependency_links to xbout.egg-info/dependency_links.txt writing requirements to xbout.egg-info/requires.txt writing top-level names to xbout.egg-info/top_level.txt WARNING setuptools_scm._file_finders.git git archive detected - fallback to listing all files adding license file 'LICENSE' writing manifest file 'xbout.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout-0.3.6.dist-info' Handling xarray>=0.18.0 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: xarray>=0.18.0 (installed: xarray 2024.10.0) Handling boutdata>=0.1.4 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: boutdata>=0.1.4 (installed: boutdata 0.2.1) Handling dask[array]>=2.10.0 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: dask[array]>=2.10.0 (installed: dask 2024.12.1) (extras are currently not checked) Handling gelidum>=0.5.3 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: gelidum>=0.5.3 (installed: gelidum 0.7.0) Handling natsort>=5.5.0 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: natsort>=5.5.0 (installed: natsort 8.4.0) Handling matplotlib!=3.3.0,!=3.3.1,!=3.3.2,>=3.1.1 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: matplotlib!=3.3.0,!=3.3.1,!=3.3.2,>=3.1.1 (installed: matplotlib 3.9.4) Handling animatplot-ng>=0.4.2 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: animatplot-ng>=0.4.2 (installed: animatplot-ng 0.4.4) Handling netcdf4>=1.4.0 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: netcdf4>=1.4.0 (installed: netcdf4 1.7.2) Handling Pillow>=6.1.0 from hook generated metadata: Requires-Dist (xbout) Requirement satisfied: Pillow>=6.1.0 (installed: Pillow 11.1.0) Handling k3d>=2.8.0; extra == "3d-plot" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: k3d>=2.8.0; extra == "3d-plot" Handling mayavi>=4.7.2; extra == "3d-plot" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: mayavi>=4.7.2; extra == "3d-plot" Handling wand; extra == "3d-plot" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: wand; extra == "3d-plot" Handling numpy>=1.18.0; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: numpy>=1.18.0; extra == "calc" Handling scipy>=1.3.0; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: scipy>=1.3.0; extra == "calc" Handling dask>=2.2.0; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: dask>=2.2.0; extra == "calc" Handling statsmodels>=0.10.1; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: statsmodels>=0.10.1; extra == "calc" Handling xrft; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: xrft; extra == "calc" Handling xhistogram; extra == "calc" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: xhistogram; extra == "calc" Handling sphinx>=5.3; extra == "docs" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: sphinx>=5.3; extra == "docs" Handling sphinx-book-theme>=0.4.0rc1; extra == "docs" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: sphinx-book-theme>=0.4.0rc1; extra == "docs" Handling sphinx-autodoc-typehints>=1.19; extra == "docs" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: sphinx-autodoc-typehints>=1.19; extra == "docs" Handling pytest>=3.3.0; extra == "tests" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: pytest>=3.3.0; extra == "tests" Handling pytest-cov; extra == "tests" from hook generated metadata: Requires-Dist (xbout) Ignoring alien requirement: pytest-cov; extra == "tests" + cat /builddir/build/BUILD/python-xbout-0.3.6-build/python-xbout-0.3.6-4.fc42.x86_64-pyproject-buildrequires + rm -rfv xbout-0.3.6.dist-info/ removed 'xbout-0.3.6.dist-info/top_level.txt' removed 'xbout-0.3.6.dist-info/METADATA' removed 'xbout-0.3.6.dist-info/LICENSE' removed directory 'xbout-0.3.6.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.8O34xB + umask 022 + cd /builddir/build/BUILD/python-xbout-0.3.6-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd xbout-0.3.6 + mkdir -p /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/pyproject-wheeldir Processing /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) /usr/lib/python3.13/site-packages/setuptools_scm/git.py:312: UserWarning: git archive did not support describe output warnings.warn("git archive did not support describe output") running dist_info creating /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/.pyproject-builddir/pip-modern-metadata-0rc7migw/xbout.egg-info writing /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/.pyproject-builddir/pip-modern-metadata-0rc7migw/xbout.egg-info/PKG-INFO writing dependency_links to /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/.pyproject-builddir/pip-modern-metadata-0rc7migw/xbout.egg-info/dependency_links.txt writing requirements to /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/.pyproject-builddir/pip-modern-metadata-0rc7migw/xbout.egg-info/requires.txt writing top-level names to /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/.pyproject-builddir/pip-modern-metadata-0rc7migw/xbout.egg-info/top_level.txt writing manifest file '/builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/.pyproject-builddir/pip-modern-metadata-0rc7migw/xbout.egg-info/SOURCES.txt' WARNING setuptools_scm._file_finders.git git archive detected - fallback to listing all files adding license file 'LICENSE' writing manifest file '/builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/.pyproject-builddir/pip-modern-metadata-0rc7migw/xbout.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/.pyproject-builddir/pip-modern-metadata-0rc7migw/xbout-0.3.6.dist-info' Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: xbout Building wheel for xbout (pyproject.toml): started Running command Building wheel for xbout (pyproject.toml) /usr/lib/python3.13/site-packages/setuptools_scm/git.py:312: UserWarning: git archive did not support describe output warnings.warn("git archive did not support describe output") running bdist_wheel running build running build_py creating build creating build/lib creating build/lib/xbout copying xbout/__init__.py -> build/lib/xbout copying xbout/_version.py -> build/lib/xbout copying xbout/boutdataarray.py -> build/lib/xbout copying xbout/boutdataset.py -> build/lib/xbout copying xbout/conftest.py -> build/lib/xbout copying xbout/fastoutput.py -> build/lib/xbout copying xbout/geometries.py -> build/lib/xbout copying xbout/load.py -> build/lib/xbout copying xbout/region.py -> build/lib/xbout copying xbout/utils.py -> build/lib/xbout creating build/lib/xbout/calc copying xbout/calc/__init__.py -> build/lib/xbout/calc copying xbout/calc/turbulence.py -> build/lib/xbout/calc creating build/lib/xbout/plotting copying xbout/plotting/__init__.py -> build/lib/xbout/plotting copying xbout/plotting/animate.py -> build/lib/xbout/plotting copying xbout/plotting/plotfuncs.py -> build/lib/xbout/plotting copying xbout/plotting/utils.py -> build/lib/xbout/plotting running egg_info writing xbout.egg-info/PKG-INFO writing dependency_links to xbout.egg-info/dependency_links.txt writing requirements to xbout.egg-info/requires.txt writing top-level names to xbout.egg-info/top_level.txt WARNING setuptools_scm._file_finders.git git archive detected - fallback to listing all files adding license file 'LICENSE' writing manifest file 'xbout.egg-info/SOURCES.txt' /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'xbout.calc.tests' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'xbout.calc.tests' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'xbout.calc.tests' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'xbout.calc.tests' to be distributed and are already explicitly excluding 'xbout.calc.tests' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'xbout.tests' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'xbout.tests' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'xbout.tests' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'xbout.tests' to be distributed and are already explicitly excluding 'xbout.tests' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'xbout.tests.data.options' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'xbout.tests.data.options' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'xbout.tests.data.options' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'xbout.tests.data.options' to be distributed and are already explicitly excluding 'xbout.tests.data.options' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'xbout.tests.data.restart' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'xbout.tests.data.restart' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'xbout.tests.data.restart' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'xbout.tests.data.restart' to be distributed and are already explicitly excluding 'xbout.tests.data.restart' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.13/site-packages/setuptools/command/build_py.py:218: _Warning: Package 'xbout.tests.inputs' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'xbout.tests.inputs' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'xbout.tests.inputs' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'xbout.tests.inputs' to be distributed and are already explicitly excluding 'xbout.tests.inputs' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) creating build/lib/xbout/tests copying xbout/tests/__init__.py -> build/lib/xbout/tests copying xbout/tests/conftest.py -> build/lib/xbout/tests copying xbout/tests/test_against_collect.py -> build/lib/xbout/tests copying xbout/tests/test_animate.py -> build/lib/xbout/tests copying xbout/tests/test_boutdataarray.py -> build/lib/xbout/tests copying xbout/tests/test_boutdataset.py -> build/lib/xbout/tests copying xbout/tests/test_fastoutput.py -> build/lib/xbout/tests copying xbout/tests/test_geometries.py -> build/lib/xbout/tests copying xbout/tests/test_grid.py -> build/lib/xbout/tests copying xbout/tests/test_init.py -> build/lib/xbout/tests copying xbout/tests/test_load.py -> build/lib/xbout/tests copying xbout/tests/test_plot.py -> build/lib/xbout/tests copying xbout/tests/test_region.py -> build/lib/xbout/tests copying xbout/tests/test_utils.py -> build/lib/xbout/tests copying xbout/tests/utils_for_tests.py -> build/lib/xbout/tests creating build/lib/xbout/tests/data creating build/lib/xbout/tests/data/options copying xbout/tests/data/options/BOUT.inp -> build/lib/xbout/tests/data/options creating build/lib/xbout/tests/data/restart copying xbout/tests/data/restart/BOUT.restart.0.nc -> build/lib/xbout/tests/data/restart copying xbout/tests/data/restart/BOUT.restart.1.nc -> build/lib/xbout/tests/data/restart copying xbout/tests/data/restart/README.md -> build/lib/xbout/tests/data/restart creating build/lib/xbout/tests/inputs copying xbout/tests/inputs/s-alpha.inp -> build/lib/xbout/tests/inputs creating build/lib/xbout/calc/tests copying xbout/calc/tests/test_turbulence.py -> build/lib/xbout/calc/tests installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/xbout copying build/lib/xbout/__init__.py -> build/bdist.linux-x86_64/wheel/./xbout copying build/lib/xbout/_version.py -> build/bdist.linux-x86_64/wheel/./xbout copying build/lib/xbout/boutdataarray.py -> build/bdist.linux-x86_64/wheel/./xbout copying build/lib/xbout/boutdataset.py -> build/bdist.linux-x86_64/wheel/./xbout copying build/lib/xbout/conftest.py -> build/bdist.linux-x86_64/wheel/./xbout copying build/lib/xbout/fastoutput.py -> build/bdist.linux-x86_64/wheel/./xbout copying build/lib/xbout/geometries.py -> build/bdist.linux-x86_64/wheel/./xbout copying build/lib/xbout/load.py -> build/bdist.linux-x86_64/wheel/./xbout copying build/lib/xbout/region.py -> build/bdist.linux-x86_64/wheel/./xbout copying build/lib/xbout/utils.py -> build/bdist.linux-x86_64/wheel/./xbout creating build/bdist.linux-x86_64/wheel/xbout/calc copying build/lib/xbout/calc/__init__.py -> build/bdist.linux-x86_64/wheel/./xbout/calc copying build/lib/xbout/calc/turbulence.py -> build/bdist.linux-x86_64/wheel/./xbout/calc creating build/bdist.linux-x86_64/wheel/xbout/calc/tests copying build/lib/xbout/calc/tests/test_turbulence.py -> build/bdist.linux-x86_64/wheel/./xbout/calc/tests creating build/bdist.linux-x86_64/wheel/xbout/plotting copying build/lib/xbout/plotting/__init__.py -> build/bdist.linux-x86_64/wheel/./xbout/plotting copying build/lib/xbout/plotting/animate.py -> build/bdist.linux-x86_64/wheel/./xbout/plotting copying build/lib/xbout/plotting/plotfuncs.py -> build/bdist.linux-x86_64/wheel/./xbout/plotting copying build/lib/xbout/plotting/utils.py -> build/bdist.linux-x86_64/wheel/./xbout/plotting creating build/bdist.linux-x86_64/wheel/xbout/tests copying build/lib/xbout/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./xbout/tests copying build/lib/xbout/tests/conftest.py -> build/bdist.linux-x86_64/wheel/./xbout/tests copying build/lib/xbout/tests/test_against_collect.py -> build/bdist.linux-x86_64/wheel/./xbout/tests copying build/lib/xbout/tests/test_animate.py -> build/bdist.linux-x86_64/wheel/./xbout/tests copying build/lib/xbout/tests/test_boutdataarray.py -> build/bdist.linux-x86_64/wheel/./xbout/tests copying build/lib/xbout/tests/test_boutdataset.py -> build/bdist.linux-x86_64/wheel/./xbout/tests copying build/lib/xbout/tests/test_fastoutput.py -> build/bdist.linux-x86_64/wheel/./xbout/tests copying build/lib/xbout/tests/test_geometries.py -> build/bdist.linux-x86_64/wheel/./xbout/tests copying build/lib/xbout/tests/test_grid.py -> build/bdist.linux-x86_64/wheel/./xbout/tests copying build/lib/xbout/tests/test_init.py -> build/bdist.linux-x86_64/wheel/./xbout/tests copying build/lib/xbout/tests/test_load.py -> build/bdist.linux-x86_64/wheel/./xbout/tests copying build/lib/xbout/tests/test_plot.py -> build/bdist.linux-x86_64/wheel/./xbout/tests copying build/lib/xbout/tests/test_region.py -> build/bdist.linux-x86_64/wheel/./xbout/tests copying build/lib/xbout/tests/test_utils.py -> build/bdist.linux-x86_64/wheel/./xbout/tests copying build/lib/xbout/tests/utils_for_tests.py -> build/bdist.linux-x86_64/wheel/./xbout/tests creating build/bdist.linux-x86_64/wheel/xbout/tests/data creating build/bdist.linux-x86_64/wheel/xbout/tests/data/options copying build/lib/xbout/tests/data/options/BOUT.inp -> build/bdist.linux-x86_64/wheel/./xbout/tests/data/options creating build/bdist.linux-x86_64/wheel/xbout/tests/data/restart copying build/lib/xbout/tests/data/restart/BOUT.restart.0.nc -> build/bdist.linux-x86_64/wheel/./xbout/tests/data/restart copying build/lib/xbout/tests/data/restart/BOUT.restart.1.nc -> build/bdist.linux-x86_64/wheel/./xbout/tests/data/restart copying build/lib/xbout/tests/data/restart/README.md -> build/bdist.linux-x86_64/wheel/./xbout/tests/data/restart creating build/bdist.linux-x86_64/wheel/xbout/tests/inputs copying build/lib/xbout/tests/inputs/s-alpha.inp -> build/bdist.linux-x86_64/wheel/./xbout/tests/inputs running install_egg_info Copying xbout.egg-info to build/bdist.linux-x86_64/wheel/./xbout-0.3.6-py3.13.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/xbout-0.3.6.dist-info/WHEEL creating '/builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/.pyproject-builddir/pip-wheel-b71sgk66/.tmp-pim4v3m2/xbout-0.3.6-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'xbout/__init__.py' adding 'xbout/_version.py' adding 'xbout/boutdataarray.py' adding 'xbout/boutdataset.py' adding 'xbout/conftest.py' adding 'xbout/fastoutput.py' adding 'xbout/geometries.py' adding 'xbout/load.py' adding 'xbout/region.py' adding 'xbout/utils.py' adding 'xbout/calc/__init__.py' adding 'xbout/calc/turbulence.py' adding 'xbout/calc/tests/test_turbulence.py' adding 'xbout/plotting/__init__.py' adding 'xbout/plotting/animate.py' adding 'xbout/plotting/plotfuncs.py' adding 'xbout/plotting/utils.py' adding 'xbout/tests/__init__.py' adding 'xbout/tests/conftest.py' adding 'xbout/tests/test_against_collect.py' adding 'xbout/tests/test_animate.py' adding 'xbout/tests/test_boutdataarray.py' adding 'xbout/tests/test_boutdataset.py' adding 'xbout/tests/test_fastoutput.py' adding 'xbout/tests/test_geometries.py' adding 'xbout/tests/test_grid.py' adding 'xbout/tests/test_init.py' adding 'xbout/tests/test_load.py' adding 'xbout/tests/test_plot.py' adding 'xbout/tests/test_region.py' adding 'xbout/tests/test_utils.py' adding 'xbout/tests/utils_for_tests.py' adding 'xbout/tests/data/options/BOUT.inp' adding 'xbout/tests/data/restart/BOUT.restart.0.nc' adding 'xbout/tests/data/restart/BOUT.restart.1.nc' adding 'xbout/tests/data/restart/README.md' Building wheel for xbout (pyproject.toml): finished with status 'done' Created wheel for xbout: filename=xbout-0.3.6-py3-none-any.whl size=140043 sha256=6de6c3ab38884cb5c26c2beb67467ff358c7f04b5db3b0cc51d9c060d5b7f29a Stored in directory: /builddir/.cache/pip/wheels/c6/1a/be/25155f390e63f3ebd7eded5b4709779bc49b302869cf0ef5d8 adding 'xbout/tests/inputs/s-alpha.inp' adding 'xbout-0.3.6.dist-info/LICENSE' adding 'xbout-0.3.6.dist-info/METADATA' adding 'xbout-0.3.6.dist-info/WHEEL' adding 'xbout-0.3.6.dist-info/top_level.txt' adding 'xbout-0.3.6.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Successfully built xbout + PYTHONPATH=/builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6 + sphinx-build-3 docs html Running Sphinx v7.3.7 making output directory... done [autosummary] generating autosummary for: accessor_methods.rst, api.rst, extending_xbout.rst, index.rst, loading_data.rst [autosummary] generating autosummary for: /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.rst [autosummary] generating autosummary for: /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.boutdataarray.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.boutdataset.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.calc.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.conftest.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.fastoutput.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.geometries.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.load.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.plotting.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.region.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.utils.rst [autosummary] generating autosummary for: /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.boutdataarray.BoutDataArrayAccessor.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.boutdataset.BoutDatasetAccessor.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.calc.turbulence.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.conftest.pytest_addoption.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.conftest.pytest_collection_modifyitems.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.conftest.pytest_configure.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.fastoutput.open_fastoutput.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.geometries.UnregisteredGeometryError.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.geometries.add_fci_geometry_coords.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.geometries.add_s_alpha_geometry_coords.rst, ..., /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.test_boutdataset.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.test_fastoutput.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.test_geometries.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.test_grid.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.test_init.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.test_load.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.test_plot.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.test_region.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.test_utils.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.utils_for_tests.rst [autosummary] generating autosummary for: /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.calc.turbulence.rms.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.plotting.animate.animate_line.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.plotting.animate.animate_pcolormesh.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.plotting.animate.animate_poloidal.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.plotting.plotfuncs.plot2d_wrapper.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.plotting.plotfuncs.plot3d.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.plotting.plotfuncs.plot_regions.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.plotting.utils.plot_separatrices.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.plotting.utils.plot_separatrix.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.plotting.utils.plot_targets.rst, ..., /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.test_load.test_check_extensions.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.test_load.test_set_fci_coords.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.test_plot.TestPlot.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.test_region.TestRegion.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.test_utils.TestUtils.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.utils_for_tests.create_bout_ds.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.utils_for_tests.create_bout_ds_list.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.utils_for_tests.create_bout_grid_ds.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.utils_for_tests.load_example_input.rst, /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/generated/xbout.tests.utils_for_tests.set_geometry_from_input_file.rst loading intersphinx inventory from https://docs.python.org/3/objects.inv... loading intersphinx inventory from https://numpy.org/doc/stable/objects.inv... WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://docs.python.org/3/objects.inv' not fetchable due to : HTTPSConnectionPool(host='docs.python.org', port=443): Max retries exceeded with url: /3/objects.inv (Caused by NameResolutionError(": Failed to resolve 'docs.python.org' ([Errno -3] Temporary failure in name resolution)")) WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://numpy.org/doc/stable/objects.inv' not fetchable due to : HTTPSConnectionPool(host='numpy.org', port=443): Max retries exceeded with url: /doc/stable/objects.inv (Caused by NameResolutionError(": Failed to resolve 'numpy.org' ([Errno -3] Temporary failure in name resolution)")) loading intersphinx inventory from https://docs.scipy.org/doc/scipy/objects.inv... loading intersphinx inventory from https://docs.enthought.com/mayavi/mayavi/objects.inv... WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://docs.scipy.org/doc/scipy/objects.inv' not fetchable due to : HTTPSConnectionPool(host='docs.scipy.org', port=443): Max retries exceeded with url: /doc/scipy/objects.inv (Caused by NameResolutionError(": Failed to resolve 'docs.scipy.org' ([Errno -3] Temporary failure in name resolution)")) loading intersphinx inventory from https://docs.xarray.dev/en/latest/objects.inv... WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://docs.enthought.com/mayavi/mayavi/objects.inv' not fetchable due to : HTTPSConnectionPool(host='docs.enthought.com', port=443): Max retries exceeded with url: /mayavi/mayavi/objects.inv (Caused by NameResolutionError(": Failed to resolve 'docs.enthought.com' ([Errno -3] Temporary failure in name resolution)")) WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://docs.xarray.dev/en/latest/objects.inv' not fetchable due to : HTTPSConnectionPool(host='docs.xarray.dev', port=443): Max retries exceeded with url: /en/latest/objects.inv (Caused by NameResolutionError(": Failed to resolve 'docs.xarray.dev' ([Errno -3] Temporary failure in name resolution)")) building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 5 source files that are out of date updating environment: [new config] 105 added, 0 changed, 0 removed reading sources... [ 1%] accessor_methods reading sources... [ 2%] api reading sources... [ 3%] extending_xbout reading sources... [ 4%] generated/xbout reading sources... [ 5%] generated/xbout.boutdataarray reading sources... [ 6%] generated/xbout.boutdataarray.BoutDataArrayAccessor reading sources... [ 7%] generated/xbout.boutdataset reading sources... [ 8%] generated/xbout.boutdataset.BoutDatasetAccessor reading sources... [ 9%] generated/xbout.calc reading sources... [ 10%] generated/xbout.calc.turbulence reading sources... [ 10%] generated/xbout.calc.turbulence.rms reading sources... [ 11%] generated/xbout.conftest reading sources... [ 12%] generated/xbout.conftest.pytest_addoption reading sources... [ 13%] generated/xbout.conftest.pytest_collection_modifyitems reading sources... [ 14%] generated/xbout.conftest.pytest_configure reading sources... [ 15%] generated/xbout.fastoutput reading sources... [ 16%] generated/xbout.fastoutput.open_fastoutput reading sources... [ 17%] generated/xbout.geometries reading sources... [ 18%] generated/xbout.geometries.UnregisteredGeometryError reading sources... [ 19%] generated/xbout.geometries.add_fci_geometry_coords reading sources... [ 20%] generated/xbout.geometries.add_s_alpha_geometry_coords reading sources... [ 21%] generated/xbout.geometries.add_toroidal_geometry_coords reading sources... [ 22%] generated/xbout.geometries.apply_geometry reading sources... [ 23%] generated/xbout.geometries.register_geometry reading sources... [ 24%] generated/xbout.load reading sources... [ 25%] generated/xbout.load.collect reading sources... [ 26%] generated/xbout.load.open_boutdataset reading sources... [ 27%] generated/xbout.plotting reading sources... [ 28%] generated/xbout.plotting.animate reading sources... [ 29%] generated/xbout.plotting.animate.animate_line reading sources... [ 30%] generated/xbout.plotting.animate.animate_pcolormesh reading sources... [ 30%] generated/xbout.plotting.animate.animate_poloidal reading sources... [ 31%] generated/xbout.plotting.plotfuncs reading sources... [ 32%] generated/xbout.plotting.plotfuncs.plot2d_wrapper reading sources... [ 33%] generated/xbout.plotting.plotfuncs.plot3d reading sources... [ 34%] generated/xbout.plotting.plotfuncs.plot_regions reading sources... [ 35%] generated/xbout.plotting.utils reading sources... [ 36%] generated/xbout.plotting.utils.plot_separatrices reading sources... [ 37%] generated/xbout.plotting.utils.plot_separatrix reading sources... [ 38%] generated/xbout.plotting.utils.plot_targets reading sources... [ 39%] generated/xbout.region reading sources... [ 40%] generated/xbout.region.Region reading sources... [ 41%] generated/xbout.region.topology_connected_double_null reading sources... [ 42%] generated/xbout.region.topology_core reading sources... [ 43%] generated/xbout.region.topology_limiter reading sources... [ 44%] generated/xbout.region.topology_lower_disconnected_double_null reading sources... [ 45%] generated/xbout.region.topology_single_null reading sources... [ 46%] generated/xbout.region.topology_sol reading sources... [ 47%] generated/xbout.region.topology_upper_disconnected_double_null reading sources... [ 48%] generated/xbout.region.topology_xpoint reading sources... [ 49%] generated/xbout.tests reading sources... [ 50%] generated/xbout.tests.conftest reading sources... [ 50%] generated/xbout.tests.conftest.bout_xyt_example_files reading sources... [ 51%] generated/xbout.tests.conftest.create_example_files_fci reading sources... [ 52%] generated/xbout.tests.conftest.create_example_grid_file_fci reading sources... [ 53%] generated/xbout.tests.test_against_collect reading sources... [ 54%] generated/xbout.tests.test_against_collect.TestAccuracyAgainstOldCollect reading sources... [ 55%] generated/xbout.tests.test_against_collect.test_speed_against_old_collect reading sources... [ 56%] generated/xbout.tests.test_animate reading sources... [ 57%] generated/xbout.tests.test_animate.TestAnimate reading sources... [ 58%] generated/xbout.tests.test_animate.create_test_file reading sources... [ 59%] generated/xbout.tests.test_boutdataarray reading sources... [ 60%] generated/xbout.tests.test_boutdataarray.TestBoutDataArrayMethods reading sources... [ 61%] generated/xbout.tests.test_boutdataset reading sources... [ 62%] generated/xbout.tests.test_boutdataset.TestBoutDatasetIsXarrayDataset reading sources... [ 63%] generated/xbout.tests.test_boutdataset.TestBoutDatasetMethods reading sources... [ 64%] generated/xbout.tests.test_boutdataset.TestLoadInputFile reading sources... [ 65%] generated/xbout.tests.test_boutdataset.TestLoadLogFile reading sources... [ 66%] generated/xbout.tests.test_boutdataset.TestSave reading sources... [ 67%] generated/xbout.tests.test_boutdataset.TestSaveRestart reading sources... [ 68%] generated/xbout.tests.test_fastoutput reading sources... [ 69%] generated/xbout.tests.test_fastoutput.TestFastOutput reading sources... [ 70%] generated/xbout.tests.test_fastoutput.make_fastoutput reading sources... [ 70%] generated/xbout.tests.test_fastoutput.make_fastoutput_set reading sources... [ 71%] generated/xbout.tests.test_geometries reading sources... [ 72%] generated/xbout.tests.test_geometries.TestGeometryRegistration reading sources... [ 73%] generated/xbout.tests.test_grid reading sources... [ 74%] generated/xbout.tests.test_grid.TestOpenGrid reading sources... [ 75%] generated/xbout.tests.test_grid.create_example_grid_file reading sources... [ 76%] generated/xbout.tests.test_init reading sources... [ 77%] generated/xbout.tests.test_init.test_version reading sources... [ 78%] generated/xbout.tests.test_load reading sources... [ 79%] generated/xbout.tests.test_load.TestArrange reading sources... [ 80%] generated/xbout.tests.test_load.TestOpen reading sources... [ 81%] generated/xbout.tests.test_load.TestPathHandling reading sources... [ 82%] generated/xbout.tests.test_load.TestStripMetadata reading sources... [ 83%] generated/xbout.tests.test_load.TestTrim reading sources... [ 84%] generated/xbout.tests.test_load.create_filepaths reading sources... [ 85%] generated/xbout.tests.test_load.test_check_extensions reading sources... [ 86%] generated/xbout.tests.test_load.test_set_fci_coords reading sources... [ 87%] generated/xbout.tests.test_plot reading sources... [ 88%] generated/xbout.tests.test_plot.TestPlot reading sources... [ 89%] generated/xbout.tests.test_region reading sources... [ 90%] generated/xbout.tests.test_region.TestRegion reading sources... [ 90%] generated/xbout.tests.test_utils reading sources... [ 91%] generated/xbout.tests.test_utils.TestUtils reading sources... [ 92%] generated/xbout.tests.utils_for_tests reading sources... [ 93%] generated/xbout.tests.utils_for_tests.create_bout_ds reading sources... [ 94%] generated/xbout.tests.utils_for_tests.create_bout_ds_list reading sources... [ 95%] generated/xbout.tests.utils_for_tests.create_bout_grid_ds reading sources... [ 96%] generated/xbout.tests.utils_for_tests.load_example_input reading sources... [ 97%] generated/xbout.tests.utils_for_tests.set_geometry_from_input_file reading sources... [ 98%] generated/xbout.utils reading sources... [ 99%] index reading sources... [100%] loading_data looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying static files... WARNING: unsupported theme option 'repository_url' given WARNING: unsupported theme option 'repository_branch' given WARNING: unsupported theme option 'path_to_docs' given WARNING: unsupported theme option 'use_edit_page_button' given WARNING: unsupported theme option 'use_repository_button' given WARNING: unsupported theme option 'use_issues_button' given WARNING: unsupported theme option 'home_page_in_toc' given done copying extra files... done done writing output... [ 1%] accessor_methods writing output... [ 2%] api writing output... [ 3%] extending_xbout writing output... [ 4%] generated/xbout writing output... [ 5%] generated/xbout.boutdataarray writing output... [ 6%] generated/xbout.boutdataarray.BoutDataArrayAccessor writing output... [ 7%] generated/xbout.boutdataset writing output... [ 8%] generated/xbout.boutdataset.BoutDatasetAccessor writing output... [ 9%] generated/xbout.calc writing output... [ 10%] generated/xbout.calc.turbulence writing output... [ 10%] generated/xbout.calc.turbulence.rms writing output... [ 11%] generated/xbout.conftest writing output... [ 12%] generated/xbout.conftest.pytest_addoption writing output... [ 13%] generated/xbout.conftest.pytest_collection_modifyitems writing output... [ 14%] generated/xbout.conftest.pytest_configure writing output... [ 15%] generated/xbout.fastoutput writing output... [ 16%] generated/xbout.fastoutput.open_fastoutput writing output... [ 17%] generated/xbout.geometries writing output... [ 18%] generated/xbout.geometries.UnregisteredGeometryError writing output... [ 19%] generated/xbout.geometries.add_fci_geometry_coords writing output... [ 20%] generated/xbout.geometries.add_s_alpha_geometry_coords writing output... [ 21%] generated/xbout.geometries.add_toroidal_geometry_coords writing output... [ 22%] generated/xbout.geometries.apply_geometry writing output... [ 23%] generated/xbout.geometries.register_geometry writing output... [ 24%] generated/xbout.load writing output... [ 25%] generated/xbout.load.collect writing output... [ 26%] generated/xbout.load.open_boutdataset writing output... [ 27%] generated/xbout.plotting writing output... [ 28%] generated/xbout.plotting.animate writing output... [ 29%] generated/xbout.plotting.animate.animate_line writing output... [ 30%] generated/xbout.plotting.animate.animate_pcolormesh writing output... [ 30%] generated/xbout.plotting.animate.animate_poloidal writing output... [ 31%] generated/xbout.plotting.plotfuncs writing output... [ 32%] generated/xbout.plotting.plotfuncs.plot2d_wrapper writing output... [ 33%] generated/xbout.plotting.plotfuncs.plot3d writing output... [ 34%] generated/xbout.plotting.plotfuncs.plot_regions writing output... [ 35%] generated/xbout.plotting.utils writing output... [ 36%] generated/xbout.plotting.utils.plot_separatrices writing output... [ 37%] generated/xbout.plotting.utils.plot_separatrix writing output... [ 38%] generated/xbout.plotting.utils.plot_targets writing output... [ 39%] generated/xbout.region writing output... [ 40%] generated/xbout.region.Region writing output... [ 41%] generated/xbout.region.topology_connected_double_null writing output... [ 42%] generated/xbout.region.topology_core writing output... [ 43%] generated/xbout.region.topology_limiter writing output... [ 44%] generated/xbout.region.topology_lower_disconnected_double_null writing output... [ 45%] generated/xbout.region.topology_single_null writing output... [ 46%] generated/xbout.region.topology_sol writing output... [ 47%] generated/xbout.region.topology_upper_disconnected_double_null writing output... [ 48%] generated/xbout.region.topology_xpoint writing output... [ 49%] generated/xbout.tests writing output... [ 50%] generated/xbout.tests.conftest writing output... [ 50%] generated/xbout.tests.conftest.bout_xyt_example_files writing output... [ 51%] generated/xbout.tests.conftest.create_example_files_fci writing output... [ 52%] generated/xbout.tests.conftest.create_example_grid_file_fci writing output... [ 53%] generated/xbout.tests.test_against_collect writing output... [ 54%] generated/xbout.tests.test_against_collect.TestAccuracyAgainstOldCollect writing output... [ 55%] generated/xbout.tests.test_against_collect.test_speed_against_old_collect writing output... [ 56%] generated/xbout.tests.test_animate writing output... [ 57%] generated/xbout.tests.test_animate.TestAnimate writing output... [ 58%] generated/xbout.tests.test_animate.create_test_file writing output... [ 59%] generated/xbout.tests.test_boutdataarray writing output... [ 60%] generated/xbout.tests.test_boutdataarray.TestBoutDataArrayMethods writing output... [ 61%] generated/xbout.tests.test_boutdataset writing output... [ 62%] generated/xbout.tests.test_boutdataset.TestBoutDatasetIsXarrayDataset writing output... [ 63%] generated/xbout.tests.test_boutdataset.TestBoutDatasetMethods writing output... [ 64%] generated/xbout.tests.test_boutdataset.TestLoadInputFile writing output... [ 65%] generated/xbout.tests.test_boutdataset.TestLoadLogFile writing output... [ 66%] generated/xbout.tests.test_boutdataset.TestSave writing output... [ 67%] generated/xbout.tests.test_boutdataset.TestSaveRestart writing output... [ 68%] generated/xbout.tests.test_fastoutput writing output... [ 69%] generated/xbout.tests.test_fastoutput.TestFastOutput writing output... [ 70%] generated/xbout.tests.test_fastoutput.make_fastoutput writing output... [ 70%] generated/xbout.tests.test_fastoutput.make_fastoutput_set writing output... [ 71%] generated/xbout.tests.test_geometries writing output... [ 72%] generated/xbout.tests.test_geometries.TestGeometryRegistration writing output... [ 73%] generated/xbout.tests.test_grid writing output... [ 74%] generated/xbout.tests.test_grid.TestOpenGrid writing output... [ 75%] generated/xbout.tests.test_grid.create_example_grid_file writing output... [ 76%] generated/xbout.tests.test_init writing output... [ 77%] generated/xbout.tests.test_init.test_version writing output... [ 78%] generated/xbout.tests.test_load writing output... [ 79%] generated/xbout.tests.test_load.TestArrange writing output... [ 80%] generated/xbout.tests.test_load.TestOpen writing output... [ 81%] generated/xbout.tests.test_load.TestPathHandling writing output... [ 82%] generated/xbout.tests.test_load.TestStripMetadata writing output... [ 83%] generated/xbout.tests.test_load.TestTrim writing output... [ 84%] generated/xbout.tests.test_load.create_filepaths writing output... [ 85%] generated/xbout.tests.test_load.test_check_extensions writing output... [ 86%] generated/xbout.tests.test_load.test_set_fci_coords writing output... [ 87%] generated/xbout.tests.test_plot writing output... [ 88%] generated/xbout.tests.test_plot.TestPlot writing output... [ 89%] generated/xbout.tests.test_region writing output... [ 90%] generated/xbout.tests.test_region.TestRegion writing output... [ 90%] generated/xbout.tests.test_utils writing output... [ 91%] generated/xbout.tests.test_utils.TestUtils writing output... [ 92%] generated/xbout.tests.utils_for_tests writing output... [ 93%] generated/xbout.tests.utils_for_tests.create_bout_ds writing output... [ 94%] generated/xbout.tests.utils_for_tests.create_bout_ds_list writing output... [ 95%] generated/xbout.tests.utils_for_tests.create_bout_grid_ds writing output... [ 96%] generated/xbout.tests.utils_for_tests.load_example_input writing output... [ 97%] generated/xbout.tests.utils_for_tests.set_geometry_from_input_file writing output... [ 98%] generated/xbout.utils writing output... [ 99%] index writing output... [100%] loading_data generating indices... genindex /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/accessor_methods.rst:4: WARNING: 'any' reference target not found: xarray.Dataset /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/accessor_methods.rst:4: WARNING: 'any' reference target not found: xarray.DataArray /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/boutdataarray.py:docstring of xbout.boutdataarray.BoutDataArrayAccessor:4: WARNING: 'any' reference target not found: BoutOptionsFile /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/boutdataarray.py:docstring of xbout.boutdataarray.BoutDataArrayAccessor.interpolate_to_cartesian:3: WARNING: 'any' reference target not found: numpy.float32 /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/boutdataarray.py:docstring of xbout.boutdataarray.BoutDataArrayAccessor.interpolate_to_cartesian:14: WARNING: 'any' reference target not found: numpy.float32 /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/boutdataarray.py:docstring of xbout.boutdataarray.BoutDataArrayAccessor.interpolate_to_cartesian:16: WARNING: 'any' reference target not found: scipy.interpolate.RegularGridInterpolator /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/boutdataset.py:docstring of xbout.boutdataset.BoutDatasetAccessor:4: WARNING: 'any' reference target not found: BoutOptionsFile /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/boutdataset.py:docstring of xbout.boutdataset.BoutDatasetAccessor.integrate_midpoints:36: WARNING: 'any' reference target not found: ... /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/boutdataset.py:docstring of xbout.boutdataset.BoutDatasetAccessor.interpolate_to_cartesian:3: WARNING: 'any' reference target not found: numpy.float32 /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/boutdataset.py:docstring of xbout.boutdataset.BoutDatasetAccessor.interpolate_to_cartesian:18: WARNING: 'any' reference target not found: numpy.float32 /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/boutdataset.py:docstring of xbout.boutdataset.BoutDatasetAccessor.interpolate_to_cartesian:21: WARNING: 'any' reference target not found: scipy.interpolate.RegularGridInterpolator /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/load.py:docstring of xbout.load.open_boutdataset:20: WARNING: 'any' reference target not found: xarray.open_dataset /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/load.py:docstring of xbout.load.open_boutdataset:94: WARNING: 'any' reference target not found: xarray.open_mfdataset /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/load.py:docstring of xbout.load.open_boutdataset:94: WARNING: 'any' reference target not found: xarray.open_dataset /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/plotting/plotfuncs.py:docstring of xbout.plotting.plotfuncs.plot2d_wrapper:3: WARNING: 'any' reference target not found: xarray.DataArray.plot /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/plotting/plotfuncs.py:docstring of xbout.plotting.plotfuncs.plot3d:68: WARNING: 'any' reference target not found: mayavi.mlab.view /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/docs/loading_data.rst:12: WARNING: 'any' reference target not found: xarray.Dataset py-modindex done highlighting module code... [ 4%] xbout.boutdataarray highlighting module code... [ 8%] xbout.boutdataset highlighting module code... [ 12%] xbout.calc.turbulence highlighting module code... [ 16%] xbout.conftest highlighting module code... [ 20%] xbout.fastoutput highlighting module code... [ 24%] xbout.geometries highlighting module code... [ 28%] xbout.load highlighting module code... [ 32%] xbout.plotting.animate highlighting module code... [ 36%] xbout.plotting.plotfuncs highlighting module code... [ 40%] xbout.plotting.utils highlighting module code... [ 44%] xbout.region highlighting module code... [ 48%] xbout.tests.conftest highlighting module code... [ 52%] xbout.tests.test_against_collect highlighting module code... [ 56%] xbout.tests.test_animate highlighting module code... [ 60%] xbout.tests.test_boutdataarray highlighting module code... [ 64%] xbout.tests.test_boutdataset highlighting module code... [ 68%] xbout.tests.test_fastoutput highlighting module code... [ 72%] xbout.tests.test_geometries highlighting module code... [ 76%] xbout.tests.test_grid highlighting module code... [ 80%] xbout.tests.test_init highlighting module code... [ 84%] xbout.tests.test_load highlighting module code... [ 88%] xbout.tests.test_plot highlighting module code... [ 92%] xbout.tests.test_region highlighting module code... [ 96%] xbout.tests.test_utils highlighting module code... [100%] xbout.tests.utils_for_tests writing additional pages... search done copying images... [100%] images/n_over_t.gif dumping search index in English (code: en)... done dumping object inventory... done build succeeded, 29 warnings. The HTML pages are in html. + rm -rf html/.doctrees html/.buildinfo + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.0M6tlC + umask 022 + cd /builddir/build/BUILD/python-xbout-0.3.6-build + '[' /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT ++ dirname /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT + mkdir -p /builddir/build/BUILD/python-xbout-0.3.6-build + mkdir /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd xbout-0.3.6 ++ ls /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/pyproject-wheeldir/xbout-0.3.6-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=xbout==0.3.6 + '[' -z xbout==0.3.6 ']' + TMPDIR=/builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/pyproject-wheeldir xbout==0.3.6 Using pip 24.3.1 from /usr/lib/python3.13/site-packages/pip (python 3.13) Looking in links: /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/pyproject-wheeldir Processing ./pyproject-wheeldir/xbout-0.3.6-py3-none-any.whl Installing collected packages: xbout Successfully installed xbout-0.3.6 + '[' -d /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/bin ']' + rm -f /builddir/build/BUILD/python-xbout-0.3.6-build/python-xbout-0.3.6-4.fc42.x86_64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + site_dirs+=("/usr/lib/python3.13/site-packages") + '[' /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib64/python3.13/site-packages '!=' /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + '[' -d /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib64/python3.13/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.13/site-packages/xbout-0.3.6.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout-0.3.6.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT --record /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout-0.3.6.dist-info/RECORD --output /builddir/build/BUILD/python-xbout-0.3.6-build/python-xbout-0.3.6-4.fc42.x86_64-pyproject-record + rm -fv /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout-0.3.6.dist-info/RECORD removed '/builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout-0.3.6.dist-info/RECORD' + rm -fv /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout-0.3.6.dist-info/REQUESTED removed '/builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout-0.3.6.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/python-xbout-0.3.6-build/python-xbout-0.3.6-4.fc42.x86_64-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + RPM_FILES_ESCAPE=4.19 + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/python-xbout-0.3.6-build/python-xbout-0.3.6-4.fc42.x86_64-pyproject-files --output-modules /builddir/build/BUILD/python-xbout-0.3.6-build/python-xbout-0.3.6-4.fc42.x86_64-pyproject-modules --buildroot /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT --sitelib /usr/lib/python3.13/site-packages --sitearch /usr/lib64/python3.13/site-packages --python-version 3.13 --pyproject-record /builddir/build/BUILD/python-xbout-0.3.6-build/python-xbout-0.3.6-4.fc42.x86_64-pyproject-record --prefix /usr xbout + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j2 Bytecompiling .py files below /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13 using python3.13 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j2 /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/calc/tests/__pycache__/test_turbulence.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/calc/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/calc/__pycache__/turbulence.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/plotting/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/plotting/__pycache__/animate.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/plotting/__pycache__/utils.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/conftest.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/plotting/__pycache__/plotfuncs.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_against_collect.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_animate.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_boutdataarray.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_fastoutput.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_geometries.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_grid.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_init.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_load.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_plot.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_boutdataset.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_utils.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_region.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_against_collect.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/utils_for_tests.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_geometries.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_init.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_animate.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_load.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_utils.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_boutdataarray.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_fastoutput.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/__pycache__/_version.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/__pycache__/boutdataarray.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/tests/__pycache__/test_boutdataset.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/__pycache__/conftest.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/__pycache__/fastoutput.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/__pycache__/boutdataset.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/__pycache__/geometries.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/__pycache__/load.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/__pycache__/region.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/__pycache__/geometries.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/__pycache__/utils.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages/xbout/__pycache__/load.cpython-313.opt-1.pyc: replacing with normalized version Scanned 20 directories and 106 files, processed 43 inodes, 43 modified (22 replaced + 21 rewritten), 0 unsupported format, 0 errors Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.XWNuAP + umask 022 + cd /builddir/build/BUILD/python-xbout-0.3.6-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd xbout-0.3.6 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + PATH=/builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-xbout-0.3.6-build/BUILDROOT/usr/lib/python3.13/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=2 + /usr/bin/pytest xbout --long --durations=0 ============================= test session starts ============================== platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 rootdir: /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6 configfile: pyproject.toml collected 796 items xbout/calc/tests/test_turbulence.py ..... [ 0%] xbout/tests/test_against_collect.py FFFFF... [ 1%] xbout/tests/test_animate.py EEEEEEEEEEEEEEEEEEEEEEEsEEEEEEEEEEEEEEE [ 6%] xbout/tests/test_boutdataarray.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 11%] FFFFFFFFFFFFFFFFFF [ 13%] xbout/tests/test_boutdataset.py FFFFFFFFFFFFFFFFFFFFFF.FFFFFFFFFFFFFFFFF [ 18%] FFFFFFFFFFFFFFFFFFFFFFFFFFssFFFFFFFFFFFFFFFFFF. [ 24%] xbout/tests/test_fastoutput.py . [ 24%] xbout/tests/test_geometries.py .. [ 24%] xbout/tests/test_grid.py ..... [ 25%] xbout/tests/test_init.py . [ 25%] xbout/tests/test_load.py ..........................FFFFFFFFFFFFsFF....FF [ 31%] Fs...................................................................... [ 40%] ............ [ 42%] xbout/tests/test_plot.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 47%] FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 57%] FFFFFFFFFFFFFFFFFFFFFFFFF [ 60%] xbout/tests/test_region.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 65%] FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 74%] FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 83%] FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 92%] FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 98%] xbout/tests/test_utils.py ............. [100%] ==================================== ERRORS ==================================== _________________ ERROR at setup of TestAnimate.test_animate2D _________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0eff0100> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ ERROR at setup of TestAnimate.test_animate2D_controls_arg[controls0] _____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ebb9900> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ ERROR at setup of TestAnimate.test_animate2D_controls_arg[controls1] _____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ef43520> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ ERROR at setup of TestAnimate.test_animate2D_controls_arg[controls2] _____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10fff040> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ ERROR at setup of TestAnimate.test_animate2D_controls_arg[controls3] _____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0efbe140> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ ERROR at setup of TestAnimate.test_animate2D_controls_arg[controls4] _____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d108e1cc0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ ERROR at setup of TestAnimate.test_animate2D_controls_arg[controls5] _____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0efcada0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _________________ ERROR at setup of TestAnimate.test_animate1D _________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f72e140> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ ERROR at setup of TestAnimate.test_animate1D_controls_arg[controls0] _____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d108e6b00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ ERROR at setup of TestAnimate.test_animate1D_controls_arg[controls1] _____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ee113c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ ERROR at setup of TestAnimate.test_animate1D_controls_arg[controls2] _____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ed62320> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ ERROR at setup of TestAnimate.test_animate1D_controls_arg[controls3] _____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f0f2620> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ ERROR at setup of TestAnimate.test_animate1D_controls_arg[controls4] _____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1103cb80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ ERROR at setup of TestAnimate.test_animate1D_controls_arg[controls5] _____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10d68220> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _______________ ERROR at setup of TestAnimate.test_animate_list ________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f0a6ec0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __________ ERROR at setup of TestAnimate.test_animate_list_1d_default __________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10d18ca0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _________ ERROR at setup of TestAnimate.test_animate_list_1d_multiline _________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ebd5f00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _________ ERROR at setup of TestAnimate.test_animate_list_animate_over _________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10fedd80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___________ ERROR at setup of TestAnimate.test_animate_list_save_as ____________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f0ac3a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____________ ERROR at setup of TestAnimate.test_animate_list_fps ______________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fa1c760> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ____________ ERROR at setup of TestAnimate.test_animate_list_nrows _____________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f866560> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ____________ ERROR at setup of TestAnimate.test_animate_list_ncols _____________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f59df00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ____ ERROR at setup of TestAnimate.test_animate_list_not_enough_nrowsncols _____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f8adb40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _______ ERROR at setup of TestAnimate.test_animate_list_subplots_adjust ________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f006020> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____________ ERROR at setup of TestAnimate.test_animate_list_vmin _____________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f098ac0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __________ ERROR at setup of TestAnimate.test_animate_list_vmin_list ___________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f048160> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____________ ERROR at setup of TestAnimate.test_animate_list_vmax _____________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f5c8e20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __________ ERROR at setup of TestAnimate.test_animate_list_vmax_list ___________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1099cca0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___________ ERROR at setup of TestAnimate.test_animate_list_logscale ___________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f037160> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ________ ERROR at setup of TestAnimate.test_animate_list_logscale_float ________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ec0af80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ________ ERROR at setup of TestAnimate.test_animate_list_logscale_list _________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10d23700> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _________ ERROR at setup of TestAnimate.test_animate_list_titles_list __________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f2b3400> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___ ERROR at setup of TestAnimate.test_animate_list_controls_arg[controls0] ____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0efc9720> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___ ERROR at setup of TestAnimate.test_animate_list_controls_arg[controls1] ____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1097eb00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___ ERROR at setup of TestAnimate.test_animate_list_controls_arg[controls2] ____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fa936a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___ ERROR at setup of TestAnimate.test_animate_list_controls_arg[controls3] ____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10ddf340> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___ ERROR at setup of TestAnimate.test_animate_list_controls_arg[controls4] ____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f59fd60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___ ERROR at setup of TestAnimate.test_animate_list_controls_arg[controls5] ____ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') @pytest.fixture def create_test_file(tmp_path_factory): # Create temp dir for output of animate1D/2D save_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for ds, file_name in zip(ds_list, file_list): ds.to_netcdf(save_dir.joinpath(file_name)) with pytest.warns(UserWarning): > ds = open_boutdataset(save_dir.joinpath("BOUT.dmp.*.nc")) # Open test data xbout/tests/test_animate.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fa81a80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError =================================== FAILURES =================================== ________________ TestAccuracyAgainstOldCollect.test_single_file ________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') def test_single_file(self, tmp_path_factory): # Create temp directory for files test_dir = tmp_path_factory.mktemp("test_data") # Generate some test data generated_ds = create_bout_ds(syn_data_type="linear") generated_ds.to_netcdf(test_dir.joinpath("BOUT.dmp.0.nc")) var = "n" expected = old_collect(var, path=test_dir, xguards=True, yguards=False) # Test against new standard - open_boutdataset with pytest.warns(UserWarning): > ds = open_boutdataset(test_dir.joinpath("BOUT.dmp.0.nc")) xbout/tests/test_against_collect.py:26: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ee04b80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- mxsub = 2 mysub = 4 mz = 7 nxpe = 1, nype = 1, npes = 1 Reading from 0: [0-1][0-3] -> [0-1][0-3] __________ TestAccuracyAgainstOldCollect.test_multiple_files_along_x ___________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') def test_multiple_files_along_x(self, tmp_path_factory): # Create temp directory for files test_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=1, syn_data_type="linear" ) for temp_ds, file_name in zip(ds_list, file_list): temp_ds.to_netcdf(test_dir.joinpath(file_name)) var = "n" expected = old_collect(var, path=test_dir, prefix="BOUT.dmp", xguards=True) # Test against new standard - open_boutdataset with pytest.warns(UserWarning): > ds = open_boutdataset(test_dir.joinpath("BOUT.dmp.*.nc")) xbout/tests/test_against_collect.py:54: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ec0b340> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- mxsub = 2 mysub = 4 mz = 7 nxpe = 3, nype = 1, npes = 3 Reading from 0: [0-1][0-3] -> [0-1][0-3] Reading from 1: [0-1][0-3] -> [2-3][0-3] Reading from 2: [0-1][0-3] -> [4-5][0-3] __________ TestAccuracyAgainstOldCollect.test_multiple_files_along_y ___________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') def test_multiple_files_along_y(self, tmp_path_factory): # Create temp directory for files test_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=1, nype=3, syn_data_type="linear" ) for temp_ds, file_name in zip(ds_list, file_list): temp_ds.to_netcdf(test_dir.joinpath(file_name)) var = "n" expected = old_collect(var, path=test_dir, prefix="BOUT.dmp", xguards=True) # Test against new standard - .open_boutdataset with pytest.warns(UserWarning): > ds = open_boutdataset(test_dir.joinpath("BOUT.dmp.*.nc")) xbout/tests/test_against_collect.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ed8b460> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- mxsub = 2 mysub = 4 mz = 7 nxpe = 1, nype = 3, npes = 3 Reading from 0: [0-1][0-3] -> [0-1][0-3] Reading from 1: [0-1][0-3] -> [0-1][4-7] Reading from 2: [0-1][0-3] -> [0-1][8-11] __________ TestAccuracyAgainstOldCollect.test_multiple_files_along_xy __________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') def test_multiple_files_along_xy(self, tmp_path_factory): # Create temp directory for files test_dir = tmp_path_factory.mktemp("test_data") # Generate some test data ds_list, file_list = create_bout_ds_list( "BOUT.dmp", nxpe=3, nype=3, syn_data_type="linear" ) for temp_ds, file_name in zip(ds_list, file_list): temp_ds.to_netcdf(test_dir.joinpath(file_name)) var = "n" expected = old_collect(var, path=test_dir, prefix="BOUT.dmp", xguards=True) # Test against new standard - .open_boutdataset with pytest.warns(UserWarning): > ds = open_boutdataset(test_dir.joinpath("BOUT.dmp.*.nc")) xbout/tests/test_against_collect.py:110: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1083cc40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- mxsub = 2 mysub = 4 mz = 7 nxpe = 3, nype = 3, npes = 9 Reading from 0: [0-1][0-3] -> [0-1][0-3] Reading from 1: [0-1][0-3] -> [2-3][0-3] Reading from 2: [0-1][0-3] -> [4-5][0-3] Reading from 3: [0-1][0-3] -> [0-1][4-7] Reading from 4: [0-1][0-3] -> [2-3][4-7] Reading from 5: [0-1][0-3] -> [4-5][4-7] Reading from 6: [0-1][0-3] -> [0-1][8-11] Reading from 7: [0-1][0-3] -> [2-3][8-11] Reading from 8: [0-1][0-3] -> [4-5][8-11] _________________ TestAccuracyAgainstOldCollect.test_metadata __________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') def test_metadata(self, tmp_path_factory): # Create temp directory for files test_dir = tmp_path_factory.mktemp("test_data") # Generate some test data generated_ds = create_bout_ds(syn_data_type="linear") generated_ds.to_netcdf(test_dir.joinpath("BOUT.dmp.0.nc")) with pytest.warns(UserWarning): > ds = open_boutdataset(test_dir.joinpath("BOUT.dmp.*.nc")) xbout/tests/test_against_collect.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10d1ee00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___________________ TestBoutDataArrayMethods.test_to_dataset ___________________ self = bout_xyt_example_files = def test_to_dataset(self, bout_xyt_example_files): dataset_list = bout_xyt_example_files(None, nxpe=3, nype=4, nt=1) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:20: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f56e560> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _________ TestBoutDataArrayMethods.test_remove_yboundaries[False-0-0] __________ self = bout_xyt_example_files = mxg = 0, myg = 0, remove_extra_upper = False @pytest.mark.parametrize("mxg", [0, pytest.param(2, marks=pytest.mark.long)]) @pytest.mark.parametrize("myg", [pytest.param(0, marks=pytest.mark.long), 2]) @pytest.mark.parametrize( "remove_extra_upper", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_remove_yboundaries( self, bout_xyt_example_files, mxg, myg, remove_extra_upper ): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=1, nype=6, nt=1, grid="grid", guards={"x": mxg, "y": myg}, topology="connected-double-null", syn_data_type="linear", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0efd8b20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _________ TestBoutDataArrayMethods.test_remove_yboundaries[False-0-2] __________ self = bout_xyt_example_files = mxg = 2, myg = 0, remove_extra_upper = False @pytest.mark.parametrize("mxg", [0, pytest.param(2, marks=pytest.mark.long)]) @pytest.mark.parametrize("myg", [pytest.param(0, marks=pytest.mark.long), 2]) @pytest.mark.parametrize( "remove_extra_upper", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_remove_yboundaries( self, bout_xyt_example_files, mxg, myg, remove_extra_upper ): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=1, nype=6, nt=1, grid="grid", guards={"x": mxg, "y": myg}, topology="connected-double-null", syn_data_type="linear", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0eb9aec0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _________ TestBoutDataArrayMethods.test_remove_yboundaries[False-2-0] __________ self = bout_xyt_example_files = mxg = 0, myg = 2, remove_extra_upper = False @pytest.mark.parametrize("mxg", [0, pytest.param(2, marks=pytest.mark.long)]) @pytest.mark.parametrize("myg", [pytest.param(0, marks=pytest.mark.long), 2]) @pytest.mark.parametrize( "remove_extra_upper", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_remove_yboundaries( self, bout_xyt_example_files, mxg, myg, remove_extra_upper ): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=1, nype=6, nt=1, grid="grid", guards={"x": mxg, "y": myg}, topology="connected-double-null", syn_data_type="linear", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f1da980> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _________ TestBoutDataArrayMethods.test_remove_yboundaries[False-2-2] __________ self = bout_xyt_example_files = mxg = 2, myg = 2, remove_extra_upper = False @pytest.mark.parametrize("mxg", [0, pytest.param(2, marks=pytest.mark.long)]) @pytest.mark.parametrize("myg", [pytest.param(0, marks=pytest.mark.long), 2]) @pytest.mark.parametrize( "remove_extra_upper", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_remove_yboundaries( self, bout_xyt_example_files, mxg, myg, remove_extra_upper ): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=1, nype=6, nt=1, grid="grid", guards={"x": mxg, "y": myg}, topology="connected-double-null", syn_data_type="linear", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f53b280> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions __________ TestBoutDataArrayMethods.test_remove_yboundaries[True-0-0] __________ self = bout_xyt_example_files = mxg = 0, myg = 0, remove_extra_upper = True @pytest.mark.parametrize("mxg", [0, pytest.param(2, marks=pytest.mark.long)]) @pytest.mark.parametrize("myg", [pytest.param(0, marks=pytest.mark.long), 2]) @pytest.mark.parametrize( "remove_extra_upper", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_remove_yboundaries( self, bout_xyt_example_files, mxg, myg, remove_extra_upper ): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=1, nype=6, nt=1, grid="grid", guards={"x": mxg, "y": myg}, topology="connected-double-null", syn_data_type="linear", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1096ae00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions __________ TestBoutDataArrayMethods.test_remove_yboundaries[True-0-2] __________ self = bout_xyt_example_files = mxg = 2, myg = 0, remove_extra_upper = True @pytest.mark.parametrize("mxg", [0, pytest.param(2, marks=pytest.mark.long)]) @pytest.mark.parametrize("myg", [pytest.param(0, marks=pytest.mark.long), 2]) @pytest.mark.parametrize( "remove_extra_upper", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_remove_yboundaries( self, bout_xyt_example_files, mxg, myg, remove_extra_upper ): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=1, nype=6, nt=1, grid="grid", guards={"x": mxg, "y": myg}, topology="connected-double-null", syn_data_type="linear", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fa9aec0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions __________ TestBoutDataArrayMethods.test_remove_yboundaries[True-2-0] __________ self = bout_xyt_example_files = mxg = 0, myg = 2, remove_extra_upper = True @pytest.mark.parametrize("mxg", [0, pytest.param(2, marks=pytest.mark.long)]) @pytest.mark.parametrize("myg", [pytest.param(0, marks=pytest.mark.long), 2]) @pytest.mark.parametrize( "remove_extra_upper", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_remove_yboundaries( self, bout_xyt_example_files, mxg, myg, remove_extra_upper ): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=1, nype=6, nt=1, grid="grid", guards={"x": mxg, "y": myg}, topology="connected-double-null", syn_data_type="linear", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f529840> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions __________ TestBoutDataArrayMethods.test_remove_yboundaries[True-2-2] __________ self = bout_xyt_example_files = mxg = 2, myg = 2, remove_extra_upper = True @pytest.mark.parametrize("mxg", [0, pytest.param(2, marks=pytest.mark.long)]) @pytest.mark.parametrize("myg", [pytest.param(0, marks=pytest.mark.long), 2]) @pytest.mark.parametrize( "remove_extra_upper", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_remove_yboundaries( self, bout_xyt_example_files, mxg, myg, remove_extra_upper ): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=1, nype=6, nt=1, grid="grid", guards={"x": mxg, "y": myg}, topology="connected-double-null", syn_data_type="linear", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f7dee00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ___________ TestBoutDataArrayMethods.test_to_field_aligned[False-6] ____________ self = bout_xyt_example_files = nz = 6, permute_dims = False @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fa408e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___________ TestBoutDataArrayMethods.test_to_field_aligned[False-7] ____________ self = bout_xyt_example_files = nz = 7, permute_dims = False @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f49e980> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___________ TestBoutDataArrayMethods.test_to_field_aligned[False-8] ____________ self = bout_xyt_example_files = nz = 8, permute_dims = False @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10928280> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___________ TestBoutDataArrayMethods.test_to_field_aligned[False-9] ____________ self = bout_xyt_example_files = nz = 9, permute_dims = False @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f1ceda0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ____________ TestBoutDataArrayMethods.test_to_field_aligned[True-6] ____________ self = bout_xyt_example_files = nz = 6, permute_dims = True @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d109280a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ____________ TestBoutDataArrayMethods.test_to_field_aligned[True-7] ____________ self = bout_xyt_example_files = nz = 7, permute_dims = True @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f1db940> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ____________ TestBoutDataArrayMethods.test_to_field_aligned[True-8] ____________ self = bout_xyt_example_files = nz = 8, permute_dims = True @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f0fdba0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ____________ TestBoutDataArrayMethods.test_to_field_aligned[True-9] ____________ self = bout_xyt_example_files = nz = 9, permute_dims = True @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10dbe860> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __________ TestBoutDataArrayMethods.test_to_field_aligned_dask[False] __________ self = bout_xyt_example_files = permute_dims = False @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned_dask(self, bout_xyt_example_files, permute_dims): nz = 6 dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f1d8460> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __________ TestBoutDataArrayMethods.test_to_field_aligned_dask[True] ___________ self = bout_xyt_example_files = permute_dims = True @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned_dask(self, bout_xyt_example_files, permute_dims): nz = 6 dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f0acd60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __________ TestBoutDataArrayMethods.test_from_field_aligned[False-6] ___________ self = bout_xyt_example_files = nz = 6, permute_dims = False @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_from_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:337: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ef744c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __________ TestBoutDataArrayMethods.test_from_field_aligned[False-7] ___________ self = bout_xyt_example_files = nz = 7, permute_dims = False @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_from_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:337: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d109d4d60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __________ TestBoutDataArrayMethods.test_from_field_aligned[False-8] ___________ self = bout_xyt_example_files = nz = 8, permute_dims = False @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_from_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:337: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f09dba0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __________ TestBoutDataArrayMethods.test_from_field_aligned[False-9] ___________ self = bout_xyt_example_files = nz = 9, permute_dims = False @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_from_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:337: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fa88e80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___________ TestBoutDataArrayMethods.test_from_field_aligned[True-6] ___________ self = bout_xyt_example_files = nz = 6, permute_dims = True @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_from_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:337: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d109d5900> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___________ TestBoutDataArrayMethods.test_from_field_aligned[True-7] ___________ self = bout_xyt_example_files = nz = 7, permute_dims = True @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_from_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:337: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d11007dc0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___________ TestBoutDataArrayMethods.test_from_field_aligned[True-8] ___________ self = bout_xyt_example_files = nz = 8, permute_dims = True @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_from_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:337: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0efd9960> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___________ TestBoutDataArrayMethods.test_from_field_aligned[True-9] ___________ self = bout_xyt_example_files = nz = 9, permute_dims = True @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_from_field_aligned(self, bout_xyt_example_files, nz, permute_dims): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:337: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10d1fbe0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __ TestBoutDataArrayMethods.test_to_field_aligned_staggered[False-CELL_XLOW] ___ self = bout_xyt_example_files = stag_location = 'CELL_XLOW', permute_dims = False @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned_staggered( self, bout_xyt_example_files, stag_location, permute_dims ): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:447: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d108c7640> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __ TestBoutDataArrayMethods.test_to_field_aligned_staggered[False-CELL_YLOW] ___ self = bout_xyt_example_files = stag_location = 'CELL_YLOW', permute_dims = False @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned_staggered( self, bout_xyt_example_files, stag_location, permute_dims ): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:447: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f219660> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __ TestBoutDataArrayMethods.test_to_field_aligned_staggered[False-CELL_ZLOW] ___ self = bout_xyt_example_files = stag_location = 'CELL_ZLOW', permute_dims = False @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned_staggered( self, bout_xyt_example_files, stag_location, permute_dims ): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:447: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ebd7880> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___ TestBoutDataArrayMethods.test_to_field_aligned_staggered[True-CELL_XLOW] ___ self = bout_xyt_example_files = stag_location = 'CELL_XLOW', permute_dims = True @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned_staggered( self, bout_xyt_example_files, stag_location, permute_dims ): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:447: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ef03e20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___ TestBoutDataArrayMethods.test_to_field_aligned_staggered[True-CELL_YLOW] ___ self = bout_xyt_example_files = stag_location = 'CELL_YLOW', permute_dims = True @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned_staggered( self, bout_xyt_example_files, stag_location, permute_dims ): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:447: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f2182e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___ TestBoutDataArrayMethods.test_to_field_aligned_staggered[True-CELL_ZLOW] ___ self = bout_xyt_example_files = stag_location = 'CELL_ZLOW', permute_dims = True @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_to_field_aligned_staggered( self, bout_xyt_example_files, stag_location, permute_dims ): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:447: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d110071c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _ TestBoutDataArrayMethods.test_from_field_aligned_staggered[False-CELL_XLOW] __ self = bout_xyt_example_files = stag_location = 'CELL_XLOW', permute_dims = False @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_from_field_aligned_staggered( self, bout_xyt_example_files, stag_location, permute_dims ): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:510: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f219c60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _ TestBoutDataArrayMethods.test_from_field_aligned_staggered[False-CELL_YLOW] __ self = bout_xyt_example_files = stag_location = 'CELL_YLOW', permute_dims = False @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_from_field_aligned_staggered( self, bout_xyt_example_files, stag_location, permute_dims ): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:510: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d109d43a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _ TestBoutDataArrayMethods.test_from_field_aligned_staggered[False-CELL_ZLOW] __ self = bout_xyt_example_files = stag_location = 'CELL_ZLOW', permute_dims = False @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_from_field_aligned_staggered( self, bout_xyt_example_files, stag_location, permute_dims ): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:510: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d11047580> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __ TestBoutDataArrayMethods.test_from_field_aligned_staggered[True-CELL_XLOW] __ self = bout_xyt_example_files = stag_location = 'CELL_XLOW', permute_dims = True @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_from_field_aligned_staggered( self, bout_xyt_example_files, stag_location, permute_dims ): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:510: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f09cee0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __ TestBoutDataArrayMethods.test_from_field_aligned_staggered[True-CELL_YLOW] __ self = bout_xyt_example_files = stag_location = 'CELL_YLOW', permute_dims = True @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_from_field_aligned_staggered( self, bout_xyt_example_files, stag_location, permute_dims ): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:510: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0efd8d60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __ TestBoutDataArrayMethods.test_from_field_aligned_staggered[True-CELL_ZLOW] __ self = bout_xyt_example_files = stag_location = 'CELL_ZLOW', permute_dims = True @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) @pytest.mark.parametrize( "permute_dims", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_from_field_aligned_staggered( self, bout_xyt_example_files, stag_location, permute_dims ): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:510: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10929de0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ________ TestBoutDataArrayMethods.test_interpolate_parallel_region_core ________ self = bout_xyt_example_files = @pytest.mark.long def test_interpolate_parallel_region_core(self, bout_xyt_example_files): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 16, 3), nxpe=1, nype=1, nt=1, grid="grid", guards={"y": 2}, topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:577: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f539420> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions __ TestBoutDataArrayMethods.test_interpolate_parallel_region_core_change_n[2] __ self = bout_xyt_example_files = res_factor = 2 @pytest.mark.parametrize( "res_factor", [ pytest.param(2, marks=pytest.mark.long), 3, pytest.param(7, marks=pytest.mark.long), pytest.param(18, marks=pytest.mark.long), ], ) def test_interpolate_parallel_region_core_change_n( self, bout_xyt_example_files, res_factor ): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 16, 3), nxpe=1, nype=1, nt=1, grid="grid", guards={"y": 2}, topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:635: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f49ec80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions __ TestBoutDataArrayMethods.test_interpolate_parallel_region_core_change_n[3] __ self = bout_xyt_example_files = res_factor = 3 @pytest.mark.parametrize( "res_factor", [ pytest.param(2, marks=pytest.mark.long), 3, pytest.param(7, marks=pytest.mark.long), pytest.param(18, marks=pytest.mark.long), ], ) def test_interpolate_parallel_region_core_change_n( self, bout_xyt_example_files, res_factor ): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 16, 3), nxpe=1, nype=1, nt=1, grid="grid", guards={"y": 2}, topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:635: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f1d9600> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions __ TestBoutDataArrayMethods.test_interpolate_parallel_region_core_change_n[7] __ self = bout_xyt_example_files = res_factor = 7 @pytest.mark.parametrize( "res_factor", [ pytest.param(2, marks=pytest.mark.long), 3, pytest.param(7, marks=pytest.mark.long), pytest.param(18, marks=pytest.mark.long), ], ) def test_interpolate_parallel_region_core_change_n( self, bout_xyt_example_files, res_factor ): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 16, 3), nxpe=1, nype=1, nt=1, grid="grid", guards={"y": 2}, topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:635: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f763640> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDataArrayMethods.test_interpolate_parallel_region_core_change_n[18] __ self = bout_xyt_example_files = res_factor = 18 @pytest.mark.parametrize( "res_factor", [ pytest.param(2, marks=pytest.mark.long), 3, pytest.param(7, marks=pytest.mark.long), pytest.param(18, marks=pytest.mark.long), ], ) def test_interpolate_parallel_region_core_change_n( self, bout_xyt_example_files, res_factor ): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 16, 3), nxpe=1, nype=1, nt=1, grid="grid", guards={"y": 2}, topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:635: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f1d8ee0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________ TestBoutDataArrayMethods.test_interpolate_parallel_region_sol _________ self = bout_xyt_example_files = @pytest.mark.long def test_interpolate_parallel_region_sol(self, bout_xyt_example_files): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 16, 3), nxpe=1, nype=1, nt=1, grid="grid", guards={"y": 2}, topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:687: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0efa3ca0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____ TestBoutDataArrayMethods.test_interpolate_parallel_region_singlenull _____ self = bout_xyt_example_files = def test_interpolate_parallel_region_singlenull(self, bout_xyt_example_files): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 16, 3), nxpe=1, nype=3, nt=1, grid="grid", guards={"y": 2}, topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:734: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f003880> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestBoutDataArrayMethods.test_interpolate_parallel ______________ self = bout_xyt_example_files = def test_interpolate_parallel(self, bout_xyt_example_files): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 16, 3), nxpe=1, nype=3, nt=1, grid="grid", guards={"y": 2}, topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:806: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10d1b040> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestBoutDataArrayMethods.test_interpolate_parallel_sol ____________ self = bout_xyt_example_files = def test_interpolate_parallel_sol(self, bout_xyt_example_files): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 16, 3), nxpe=1, nype=1, nt=1, grid="grid", guards={"y": 2}, topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:860: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fa83340> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______ TestBoutDataArrayMethods.test_interpolate_parallel_toroidal_points ______ self = bout_xyt_example_files = def test_interpolate_parallel_toroidal_points(self, bout_xyt_example_files): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 16, 3), nxpe=1, nype=3, nt=1, grid="grid", guards={"y": 2}, topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:912: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10d6b700> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ___ TestBoutDataArrayMethods.test_interpolate_parallel_toroidal_points_list ____ self = bout_xyt_example_files = def test_interpolate_parallel_toroidal_points_list(self, bout_xyt_example_files): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 16, 3), nxpe=1, nype=3, nt=1, grid="grid", guards={"y": 2}, topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:937: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fad75e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestBoutDataArrayMethods.test_interpolate_to_cartesian ____________ self = bout_xyt_example_files = def test_interpolate_to_cartesian(self, bout_xyt_example_files): dataset_list = bout_xyt_example_files( None, lengths=(2, 16, 17, 18), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:959: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fa48520> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___________ TestBoutDataArrayMethods.test_add_cartesian_coordinates ____________ self = bout_xyt_example_files = def test_add_cartesian_coordinates(self, bout_xyt_example_files): dataset_list = bout_xyt_example_files(None, nxpe=1, nype=1, nt=1) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataarray.py:999: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f180400> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______________________ TestBoutDataArrayMethods.test_ddx _______________________ self = bout_xyt_example_files = def test_ddx(self, bout_xyt_example_files): nx = 64 dataset_list = bout_xyt_example_files( None, lengths=(2, nx, 4, 3), nxpe=1, nype=1, ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, ) xbout/tests/test_boutdataarray.py:1044: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fad7ca0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______________________ TestBoutDataArrayMethods.test_ddy _______________________ self = bout_xyt_example_files = def test_ddy(self, bout_xyt_example_files): ny = 64 dataset_list, gridfilepath = bout_xyt_example_files( None, lengths=(2, 3, ny, 4), nxpe=1, nype=1, grid="grid", ) > ds = open_boutdataset( datapath=dataset_list, geometry="toroidal", gridfilepath=gridfilepath ) xbout/tests/test_boutdataarray.py:1078: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f72fa00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________________ TestBoutDataArrayMethods.test_ddz _______________________ self = bout_xyt_example_files = def test_ddz(self, bout_xyt_example_files): dataset_list = bout_xyt_example_files( None, lengths=(2, 3, 4, 64), nxpe=1, nype=1, ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, ) xbout/tests/test_boutdataarray.py:1109: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10d6bf40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____________ TestBoutDataArrayMethods.test_derivatives_doublenull _____________ self = bout_xyt_example_files = def test_derivatives_doublenull(self, bout_xyt_example_files): # Check function does not error on double-null topology dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=1, nype=6, nt=1, grid="grid", guards={"x": 2, "y": 2}, topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataarray.py:1141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0faf33a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions __________________ TestBoutDatasetIsXarrayDataset.test_concat __________________ self = bout_xyt_example_files = def test_concat(self, bout_xyt_example_files): dataset_list1 = bout_xyt_example_files(None, nxpe=3, nype=4, nt=1) with pytest.warns(UserWarning): > bd1 = open_boutdataset( datapath=dataset_list1, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1099e680> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___________________ TestBoutDatasetIsXarrayDataset.test_isel ___________________ self = bout_xyt_example_files = def test_isel(self, bout_xyt_example_files): dataset_list = bout_xyt_example_files(None, nxpe=1, nype=1, nt=1) with pytest.warns(UserWarning): > bd = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f59d900> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ________________ TestBoutDatasetMethods.test_get_field_aligned _________________ self = bout_xyt_example_files = def test_get_field_aligned(self, bout_xyt_example_files): dataset_list = bout_xyt_example_files(None, nxpe=3, nype=4, nt=1) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:62: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f0f0b20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____________ TestBoutDatasetMethods.test_remove_yboundaries[0-0] ______________ self = bout_xyt_example_files = mxg = 0, myg = 0 @pytest.mark.parametrize("mxg", [0, pytest.param(2, marks=pytest.mark.long)]) @pytest.mark.parametrize("myg", [pytest.param(0, marks=pytest.mark.long), 2]) def test_remove_yboundaries(self, bout_xyt_example_files, mxg, myg): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=1, nype=6, nt=1, grid="grid", guards={"x": mxg, "y": myg}, topology="connected-double-null", syn_data_type="linear", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataset.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f09bf40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestBoutDatasetMethods.test_remove_yboundaries[0-2] ______________ self = bout_xyt_example_files = mxg = 2, myg = 0 @pytest.mark.parametrize("mxg", [0, pytest.param(2, marks=pytest.mark.long)]) @pytest.mark.parametrize("myg", [pytest.param(0, marks=pytest.mark.long), 2]) def test_remove_yboundaries(self, bout_xyt_example_files, mxg, myg): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=1, nype=6, nt=1, grid="grid", guards={"x": mxg, "y": myg}, topology="connected-double-null", syn_data_type="linear", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataset.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fa2b9a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestBoutDatasetMethods.test_remove_yboundaries[2-0] ______________ self = bout_xyt_example_files = mxg = 0, myg = 2 @pytest.mark.parametrize("mxg", [0, pytest.param(2, marks=pytest.mark.long)]) @pytest.mark.parametrize("myg", [pytest.param(0, marks=pytest.mark.long), 2]) def test_remove_yboundaries(self, bout_xyt_example_files, mxg, myg): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=1, nype=6, nt=1, grid="grid", guards={"x": mxg, "y": myg}, topology="connected-double-null", syn_data_type="linear", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataset.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10932e00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestBoutDatasetMethods.test_remove_yboundaries[2-2] ______________ self = bout_xyt_example_files = mxg = 2, myg = 2 @pytest.mark.parametrize("mxg", [0, pytest.param(2, marks=pytest.mark.long)]) @pytest.mark.parametrize("myg", [pytest.param(0, marks=pytest.mark.long), 2]) def test_remove_yboundaries(self, bout_xyt_example_files, mxg, myg): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=1, nype=6, nt=1, grid="grid", guards={"x": mxg, "y": myg}, topology="connected-double-null", syn_data_type="linear", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_yboundaries=True, ) xbout/tests/test_boutdataset.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f57eda0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestBoutDatasetMethods.test_to_field_aligned[6] ________________ self = bout_xyt_example_files = nz = 6 @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) def test_to_field_aligned(self, bout_xyt_example_files, nz): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:163: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f548b80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _______________ TestBoutDatasetMethods.test_to_field_aligned[7] ________________ self = bout_xyt_example_files = nz = 7 @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) def test_to_field_aligned(self, bout_xyt_example_files, nz): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:163: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10951180> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _______________ TestBoutDatasetMethods.test_to_field_aligned[8] ________________ self = bout_xyt_example_files = nz = 8 @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) def test_to_field_aligned(self, bout_xyt_example_files, nz): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:163: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f5c2980> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _______________ TestBoutDatasetMethods.test_to_field_aligned[9] ________________ self = bout_xyt_example_files = nz = 9 @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) def test_to_field_aligned(self, bout_xyt_example_files, nz): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:163: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f5290c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______________ TestBoutDatasetMethods.test_to_field_aligned_dask _______________ self = bout_xyt_example_files = def test_to_field_aligned_dask(self, bout_xyt_example_files): nz = 6 dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:269: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d109cb220> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______________ TestBoutDatasetMethods.test_from_field_aligned[6] _______________ self = bout_xyt_example_files = nz = 6 @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) def test_from_field_aligned(self, bout_xyt_example_files, nz): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:389: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d108bd120> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______________ TestBoutDatasetMethods.test_from_field_aligned[7] _______________ self = bout_xyt_example_files = nz = 7 @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) def test_from_field_aligned(self, bout_xyt_example_files, nz): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:389: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f5482e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______________ TestBoutDatasetMethods.test_from_field_aligned[8] _______________ self = bout_xyt_example_files = nz = 8 @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) def test_from_field_aligned(self, bout_xyt_example_files, nz): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:389: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d109c9c00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______________ TestBoutDatasetMethods.test_from_field_aligned[9] _______________ self = bout_xyt_example_files = nz = 9 @pytest.mark.parametrize( "nz", [ pytest.param(6, marks=pytest.mark.long), 7, pytest.param(8, marks=pytest.mark.long), pytest.param(9, marks=pytest.mark.long), ], ) def test_from_field_aligned(self, bout_xyt_example_files, nz): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, nz), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:389: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10932e00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______ TestBoutDatasetMethods.test_to_field_aligned_staggered[CELL_XLOW] _______ self = bout_xyt_example_files = stag_location = 'CELL_XLOW' @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) def test_to_field_aligned_staggered(self, bout_xyt_example_files, stag_location): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:494: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10823640> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______ TestBoutDatasetMethods.test_to_field_aligned_staggered[CELL_YLOW] _______ self = bout_xyt_example_files = stag_location = 'CELL_YLOW' @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) def test_to_field_aligned_staggered(self, bout_xyt_example_files, stag_location): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:494: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d109c88e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______ TestBoutDatasetMethods.test_to_field_aligned_staggered[CELL_ZLOW] _______ self = bout_xyt_example_files = stag_location = 'CELL_ZLOW' @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) def test_to_field_aligned_staggered(self, bout_xyt_example_files, stag_location): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:494: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10953160> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ TestBoutDatasetMethods.test_from_field_aligned_staggered[CELL_XLOW] ______ self = bout_xyt_example_files = stag_location = 'CELL_XLOW' @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) def test_from_field_aligned_staggered(self, bout_xyt_example_files, stag_location): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:553: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1080cbe0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ TestBoutDatasetMethods.test_from_field_aligned_staggered[CELL_YLOW] ______ self = bout_xyt_example_files = stag_location = 'CELL_YLOW' @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) def test_from_field_aligned_staggered(self, bout_xyt_example_files, stag_location): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:553: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f5c1de0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ TestBoutDatasetMethods.test_from_field_aligned_staggered[CELL_ZLOW] ______ self = bout_xyt_example_files = stag_location = 'CELL_ZLOW' @pytest.mark.parametrize("stag_location", ["CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"]) def test_from_field_aligned_staggered(self, bout_xyt_example_files, stag_location): dataset_list = bout_xyt_example_files( None, lengths=(3, 3, 4, 8), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:553: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d108f0ee0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fab0460> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f15f640> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f2a7b80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0eefece0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ef8c220> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f4d0940> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f4a2260> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f4552a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f4e2f80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f46eb60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f956bc0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f4d6aa0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f40f4c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f478ca0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d11076560> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate0-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True vars_to_interpolate = ('n', 'T') @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ef19300> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ef04400> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f70d900> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f45bfa0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f476fe0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f9f2920> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f933e20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fdd6a40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fd0b3a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f9beb00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f476f20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ef18040> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ef3a320> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f23f520> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f4d66e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f479480> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_parallel[vars_to_interpolate1-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True vars_to_interpolate = Ellipsis @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "vars_to_interpolate", [("n", "T"), pytest.param(..., marks=pytest.mark.long)] ) def test_interpolate_parallel( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, vars_to_interpolate, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_boutdataset.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f0000a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______ TestBoutDatasetMethods.test_interpolate_parallel_all_variables_arg ______ self = bout_xyt_example_files = def test_interpolate_parallel_all_variables_arg(self, bout_xyt_example_files): # Check that passing 'variables=...' to interpolate_parallel() does actually # interpolate all the variables dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=1, nype=1, nt=1, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal" ) xbout/tests/test_boutdataset.py:1108: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f47e4a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ___________ TestBoutDatasetMethods.test_interpolate_parallel_limiter ___________ self = bout_xyt_example_files = def test_interpolate_parallel_limiter( self, bout_xyt_example_files, ): # This test checks that the regions created in the new high-resolution Dataset by # interpolate_parallel are correct. # This test does not test the accuracy of the parallel interpolation (there are # other tests for that). # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards={"x": 2, "y": 2}, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=True, keep_yboundaries=False, ) xbout/tests/test_boutdataset.py:1163: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ef0ff40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestBoutDatasetMethods.test_integrate_midpoints_slab _____________ self = bout_xyt_example_files = def test_integrate_midpoints_slab(self, bout_xyt_example_files): # Create data dataset_list = bout_xyt_example_files( None, lengths=(4, 100, 110, 120), nxpe=1, nype=1, nt=1, syn_data_type=1 ) > ds = open_boutdataset(dataset_list) xbout/tests/test_boutdataset.py:1193: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f96aaa0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____ TestBoutDatasetMethods.test_integrate_midpoints_salpha[CELL_CENTRE] ______ self = bout_xyt_example_files = location = 'CELL_CENTRE' @pytest.mark.parametrize( "location", ["CELL_CENTRE", "CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"] ) def test_integrate_midpoints_salpha(self, bout_xyt_example_files, location): # Create data nx = 100 ny = 110 nz = 120 dataset_list = bout_xyt_example_files( None, lengths=(4, nx, ny, nz), nxpe=1, nype=1, nt=1, syn_data_type=1, guards={"x": 2, "y": 2}, ) > ds = open_boutdataset(dataset_list) xbout/tests/test_boutdataset.py:1387: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f9c79a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______ TestBoutDatasetMethods.test_integrate_midpoints_salpha[CELL_XLOW] _______ self = bout_xyt_example_files = location = 'CELL_XLOW' @pytest.mark.parametrize( "location", ["CELL_CENTRE", "CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"] ) def test_integrate_midpoints_salpha(self, bout_xyt_example_files, location): # Create data nx = 100 ny = 110 nz = 120 dataset_list = bout_xyt_example_files( None, lengths=(4, nx, ny, nz), nxpe=1, nype=1, nt=1, syn_data_type=1, guards={"x": 2, "y": 2}, ) > ds = open_boutdataset(dataset_list) xbout/tests/test_boutdataset.py:1387: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f911000> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______ TestBoutDatasetMethods.test_integrate_midpoints_salpha[CELL_YLOW] _______ self = bout_xyt_example_files = location = 'CELL_YLOW' @pytest.mark.parametrize( "location", ["CELL_CENTRE", "CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"] ) def test_integrate_midpoints_salpha(self, bout_xyt_example_files, location): # Create data nx = 100 ny = 110 nz = 120 dataset_list = bout_xyt_example_files( None, lengths=(4, nx, ny, nz), nxpe=1, nype=1, nt=1, syn_data_type=1, guards={"x": 2, "y": 2}, ) > ds = open_boutdataset(dataset_list) xbout/tests/test_boutdataset.py:1387: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f9c20e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______ TestBoutDatasetMethods.test_integrate_midpoints_salpha[CELL_ZLOW] _______ self = bout_xyt_example_files = location = 'CELL_ZLOW' @pytest.mark.parametrize( "location", ["CELL_CENTRE", "CELL_XLOW", "CELL_YLOW", "CELL_ZLOW"] ) def test_integrate_midpoints_salpha(self, bout_xyt_example_files, location): # Create data nx = 100 ny = 110 nz = 120 dataset_list = bout_xyt_example_files( None, lengths=(4, nx, ny, nz), nxpe=1, nype=1, nt=1, syn_data_type=1, guards={"x": 2, "y": 2}, ) > ds = open_boutdataset(dataset_list) xbout/tests/test_boutdataset.py:1387: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f9a7460> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __________ TestBoutDatasetMethods.test_interpolate_from_unstructured ___________ self = bout_xyt_example_files = def test_interpolate_from_unstructured(self, bout_xyt_example_files): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, grid="grid", topology="upper-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal" ) xbout/tests/test_boutdataset.py:1733: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fdde560> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestBoutDatasetMethods.test_interpolate_from_unstructured_unstructured_output _ self = bout_xyt_example_files = def test_interpolate_from_unstructured_unstructured_output( self, bout_xyt_example_files ): dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, grid="grid", topology="lower-disconnected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal" ) xbout/tests/test_boutdataset.py:1784: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fb82380> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestBoutDatasetMethods.test_interpolate_to_cartesian _____________ self = bout_xyt_example_files = def test_interpolate_to_cartesian(self, bout_xyt_example_files): dataset_list = bout_xyt_example_files( None, lengths=(2, 16, 17, 18), nxpe=1, nype=1, nt=1 ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:1842: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f478f40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ____________ TestBoutDatasetMethods.test_add_cartesian_coordinates _____________ self = bout_xyt_example_files = def test_add_cartesian_coordinates(self, bout_xyt_example_files): dataset_list = bout_xyt_example_files(None, nxpe=1, nype=1, nt=1) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=dataset_list, inputfilepath=None, keep_xboundaries=False ) xbout/tests/test_boutdataset.py:1883: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fb2a740> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ____________________________ TestSave.test_save_all ____________________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = def test_save_all(self, tmp_path_factory, bout_xyt_example_files): # Create data path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=5, nt=1, write_to_disk=True ) # Load it as a boutdataset with pytest.warns(UserWarning): > original = open_boutdataset(datapath=path, inputfilepath=None) xbout/tests/test_boutdataset.py:1953: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fa7d120> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ________________________ TestSave.test_reload_all[None] ________________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = geometry = None @pytest.mark.parametrize("geometry", [None, "toroidal"]) def test_reload_all(self, tmp_path_factory, bout_xyt_example_files, geometry): # Create data path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=5, nt=1, grid="grid", write_to_disk=True ) gridpath = path.parent.joinpath("grid.nc") # Load it as a boutdataset if geometry is None: with pytest.warns(UserWarning): > original = open_boutdataset( datapath=path, inputfilepath=None, geometry=geometry, gridfilepath=None if geometry is None else gridpath, ) xbout/tests/test_boutdataset.py:1978: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f45c940> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______________________ TestSave.test_reload_all[toroidal] ______________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = geometry = 'toroidal' @pytest.mark.parametrize("geometry", [None, "toroidal"]) def test_reload_all(self, tmp_path_factory, bout_xyt_example_files, geometry): # Create data path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=5, nt=1, grid="grid", write_to_disk=True ) gridpath = path.parent.joinpath("grid.nc") # Load it as a boutdataset if geometry is None: with pytest.warns(UserWarning): original = open_boutdataset( datapath=path, inputfilepath=None, geometry=geometry, gridfilepath=None if geometry is None else gridpath, ) else: > original = open_boutdataset( datapath=path, inputfilepath=None, geometry=geometry, gridfilepath=None if geometry is None else gridpath, ) xbout/tests/test_boutdataset.py:1985: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ef07c40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ___________________ TestSave.test_save_dtype[False-float64] ____________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = save_dtype = , separate_vars = False @pytest.mark.parametrize("save_dtype", [np.float64, np.float32]) @pytest.mark.parametrize( "separate_vars", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_save_dtype( self, tmp_path_factory, bout_xyt_example_files, save_dtype, separate_vars ): # Create data path = bout_xyt_example_files( tmp_path_factory, nxpe=1, nype=1, nt=1, write_to_disk=True ) # Load it as a boutdataset with pytest.warns(UserWarning): > original = open_boutdataset(datapath=path, inputfilepath=None) xbout/tests/test_boutdataset.py:2035: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fdb6c80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___________________ TestSave.test_save_dtype[False-float32] ____________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = save_dtype = , separate_vars = False @pytest.mark.parametrize("save_dtype", [np.float64, np.float32]) @pytest.mark.parametrize( "separate_vars", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_save_dtype( self, tmp_path_factory, bout_xyt_example_files, save_dtype, separate_vars ): # Create data path = bout_xyt_example_files( tmp_path_factory, nxpe=1, nype=1, nt=1, write_to_disk=True ) # Load it as a boutdataset with pytest.warns(UserWarning): > original = open_boutdataset(datapath=path, inputfilepath=None) xbout/tests/test_boutdataset.py:2035: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fb9e560> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ____________________ TestSave.test_save_dtype[True-float64] ____________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = save_dtype = , separate_vars = True @pytest.mark.parametrize("save_dtype", [np.float64, np.float32]) @pytest.mark.parametrize( "separate_vars", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_save_dtype( self, tmp_path_factory, bout_xyt_example_files, save_dtype, separate_vars ): # Create data path = bout_xyt_example_files( tmp_path_factory, nxpe=1, nype=1, nt=1, write_to_disk=True ) # Load it as a boutdataset with pytest.warns(UserWarning): > original = open_boutdataset(datapath=path, inputfilepath=None) xbout/tests/test_boutdataset.py:2035: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fbc6800> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ____________________ TestSave.test_save_dtype[True-float32] ____________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = save_dtype = , separate_vars = True @pytest.mark.parametrize("save_dtype", [np.float64, np.float32]) @pytest.mark.parametrize( "separate_vars", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_save_dtype( self, tmp_path_factory, bout_xyt_example_files, save_dtype, separate_vars ): # Create data path = bout_xyt_example_files( tmp_path_factory, nxpe=1, nype=1, nt=1, write_to_disk=True ) # Load it as a boutdataset with pytest.warns(UserWarning): > original = open_boutdataset(datapath=path, inputfilepath=None) xbout/tests/test_boutdataset.py:2035: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f47e020> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ____________________ TestSave.test_save_separate_variables _____________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = def test_save_separate_variables(self, tmp_path_factory, bout_xyt_example_files): path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=1, nt=1, write_to_disk=True ) # Load it as a boutdataset with pytest.warns(UserWarning): > original = open_boutdataset(datapath=path, inputfilepath=None) xbout/tests/test_boutdataset.py:2063: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f4310c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ________________ TestSave.test_reload_separate_variables[None] _________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = geometry = None @pytest.mark.parametrize("geometry", [None, "toroidal"]) def test_reload_separate_variables( self, tmp_path_factory, bout_xyt_example_files, geometry ): if geometry is not None: grid = "grid" else: grid = None path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=1, nt=1, grid=grid, write_to_disk=True ) if grid is not None: gridpath = path.parent.joinpath("grid.nc") else: gridpath = None # Load it as a boutdataset if geometry is None: with pytest.warns(UserWarning): > original = open_boutdataset( datapath=path, inputfilepath=None, geometry=geometry, gridfilepath=gridpath, ) xbout/tests/test_boutdataset.py:2104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f276c20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______________ TestSave.test_reload_separate_variables[toroidal] _______________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = geometry = 'toroidal' @pytest.mark.parametrize("geometry", [None, "toroidal"]) def test_reload_separate_variables( self, tmp_path_factory, bout_xyt_example_files, geometry ): if geometry is not None: grid = "grid" else: grid = None path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=1, nt=1, grid=grid, write_to_disk=True ) if grid is not None: gridpath = path.parent.joinpath("grid.nc") else: gridpath = None # Load it as a boutdataset if geometry is None: with pytest.warns(UserWarning): original = open_boutdataset( datapath=path, inputfilepath=None, geometry=geometry, gridfilepath=gridpath, ) else: > original = open_boutdataset( datapath=path, inputfilepath=None, geometry=geometry, gridfilepath=gridpath, ) xbout/tests/test_boutdataset.py:2111: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ef95c60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ___________ TestSave.test_reload_separate_variables_time_split[None] ___________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = geometry = None @pytest.mark.parametrize("geometry", [None, "toroidal"]) def test_reload_separate_variables_time_split( self, tmp_path_factory, bout_xyt_example_files, geometry ): if geometry is not None: grid = "grid" else: grid = None path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=1, nt=1, grid=grid, write_to_disk=True ) if grid is not None: gridpath = path.parent.joinpath("grid.nc") else: gridpath = None # Load it as a boutdataset if geometry is None: with pytest.warns(UserWarning): > original = open_boutdataset( datapath=path, inputfilepath=None, geometry=geometry, gridfilepath=gridpath, ) xbout/tests/test_boutdataset.py:2151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d109c9c60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _________ TestSave.test_reload_separate_variables_time_split[toroidal] _________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = geometry = 'toroidal' @pytest.mark.parametrize("geometry", [None, "toroidal"]) def test_reload_separate_variables_time_split( self, tmp_path_factory, bout_xyt_example_files, geometry ): if geometry is not None: grid = "grid" else: grid = None path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=1, nt=1, grid=grid, write_to_disk=True ) if grid is not None: gridpath = path.parent.joinpath("grid.nc") else: gridpath = None # Load it as a boutdataset if geometry is None: with pytest.warns(UserWarning): original = open_boutdataset( datapath=path, inputfilepath=None, geometry=geometry, gridfilepath=gridpath, ) else: > original = open_boutdataset( datapath=path, inputfilepath=None, geometry=geometry, gridfilepath=gridpath, ) xbout/tests/test_boutdataset.py:2158: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ef4c0a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________________ TestSaveRestart.test_to_restart[None] _____________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = tind = None @pytest.mark.parametrize("tind", [None, pytest.param(1, marks=pytest.mark.long)]) def test_to_restart(self, tmp_path_factory, bout_xyt_example_files, tind): nxpe = 3 nype = 2 nt = 6 path = bout_xyt_example_files( tmp_path_factory, nxpe=nxpe, nype=nype, nt=1, lengths=[nt, 4, 4, 7], guards={"x": 2, "y": 2}, write_to_disk=True, ) # Load it as a boutdataset with pytest.warns(UserWarning): > ds = open_boutdataset(datapath=path) xbout/tests/test_boutdataset.py:2205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fdd62c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______________________ TestSaveRestart.test_to_restart[1] ______________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = tind = 1 @pytest.mark.parametrize("tind", [None, pytest.param(1, marks=pytest.mark.long)]) def test_to_restart(self, tmp_path_factory, bout_xyt_example_files, tind): nxpe = 3 nype = 2 nt = 6 path = bout_xyt_example_files( tmp_path_factory, nxpe=nxpe, nype=nype, nt=1, lengths=[nt, 4, 4, 7], guards={"x": 2, "y": 2}, write_to_disk=True, ) # Load it as a boutdataset with pytest.warns(UserWarning): > ds = open_boutdataset(datapath=path) xbout/tests/test_boutdataset.py:2205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f951720> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __________________ TestSaveRestart.test_to_restart_change_npe __________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = def test_to_restart_change_npe(self, tmp_path_factory, bout_xyt_example_files): nxpe_in = 3 nype_in = 2 nxpe = 2 nype = 4 nt = 6 path = bout_xyt_example_files( tmp_path_factory, nxpe=nxpe_in, nype=nype_in, nt=1, lengths=[nt, 4, 4, 7], guards={"x": 2, "y": 2}, write_to_disk=True, ) # Load it as a boutdataset with pytest.warns(UserWarning): > ds = open_boutdataset(datapath=path) xbout/tests/test_boutdataset.py:2283: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f93a680> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ____________ TestSaveRestart.test_to_restart_change_npe_doublenull _____________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = @pytest.mark.long def test_to_restart_change_npe_doublenull( self, tmp_path_factory, bout_xyt_example_files ): nxpe_in = 3 nype_in = 6 nxpe = 1 nype = 12 nt = 6 path = bout_xyt_example_files( tmp_path_factory, nxpe=nxpe_in, nype=nype_in, nt=1, guards={"x": 2, "y": 2}, lengths=(nt, 5, 4, 7), topology="upper-disconnected-double-null", write_to_disk=True, ) # Load it as a boutdataset with pytest.warns(UserWarning): > ds = open_boutdataset(datapath=path) xbout/tests/test_boutdataset.py:2356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fd79480> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___ TestSaveRestart.test_to_restart_change_npe_doublenull_expect_fail[npes0] ___ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = npes = (2, 6) @pytest.mark.long @pytest.mark.parametrize("npes", [(2, 6), (3, 4)]) def test_to_restart_change_npe_doublenull_expect_fail( self, tmp_path_factory, bout_xyt_example_files, npes ): nxpe_in = 3 nype_in = 6 nxpe, nype = npes path = bout_xyt_example_files( tmp_path_factory, nxpe=nxpe_in, nype=nype_in, nt=1, guards={"x": 2, "y": 2}, lengths=(6, 5, 4, 7), topology="lower-disconnected-double-null", write_to_disk=True, ) # Load it as a boutdataset with pytest.warns(UserWarning): > ds = open_boutdataset(datapath=path) xbout/tests/test_boutdataset.py:2427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ef4ca00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ___ TestSaveRestart.test_to_restart_change_npe_doublenull_expect_fail[npes1] ___ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = npes = (3, 4) @pytest.mark.long @pytest.mark.parametrize("npes", [(2, 6), (3, 4)]) def test_to_restart_change_npe_doublenull_expect_fail( self, tmp_path_factory, bout_xyt_example_files, npes ): nxpe_in = 3 nype_in = 6 nxpe, nype = npes path = bout_xyt_example_files( tmp_path_factory, nxpe=nxpe_in, nype=nype_in, nt=1, guards={"x": 2, "y": 2}, lengths=(6, 5, 4, 7), topology="lower-disconnected-double-null", write_to_disk=True, ) # Load it as a boutdataset with pytest.warns(UserWarning): > ds = open_boutdataset(datapath=path) xbout/tests/test_boutdataset.py:2427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f6c0460> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError __________________________ TestOpen.test_single_file ___________________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = def test_single_file(self, tmp_path_factory, bout_xyt_example_files): path = bout_xyt_example_files( tmp_path_factory, nxpe=1, nype=1, nt=1, write_to_disk=True ) with pytest.warns(UserWarning): > actual = open_boutdataset(datapath=path, keep_xboundaries=False) xbout/tests/test_load.py:280: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f4ea4a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _________________________ TestOpen.test_squashed_file __________________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = def test_squashed_file(self, tmp_path_factory, bout_xyt_example_files): path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=3, nt=1, squashed=True, write_to_disk=True ) with pytest.warns(UserWarning): > actual = open_boutdataset(datapath=path, keep_xboundaries=False) xbout/tests/test_load.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f939660> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ________________ TestOpen.test_squashed_doublenull[False-False] ________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = keep_xboundaries = False, keep_yboundaries = False @pytest.mark.parametrize( "keep_xboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) @pytest.mark.parametrize( "keep_yboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_squashed_doublenull( self, tmp_path_factory, bout_xyt_example_files, keep_xboundaries, keep_yboundaries, ): path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=6, nt=1, lengths=(6, 2, 4, 7), guards={"x": 2, "y": 2}, squashed=True, topology="lower-disconnected-double-null", ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=path, keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_load.py:351: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fed50c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ________________ TestOpen.test_squashed_doublenull[False-True] _________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = keep_xboundaries = True, keep_yboundaries = False @pytest.mark.parametrize( "keep_xboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) @pytest.mark.parametrize( "keep_yboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_squashed_doublenull( self, tmp_path_factory, bout_xyt_example_files, keep_xboundaries, keep_yboundaries, ): path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=6, nt=1, lengths=(6, 2, 4, 7), guards={"x": 2, "y": 2}, squashed=True, topology="lower-disconnected-double-null", ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=path, keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_load.py:351: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fe9dc60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ________________ TestOpen.test_squashed_doublenull[True-False] _________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = keep_xboundaries = False, keep_yboundaries = True @pytest.mark.parametrize( "keep_xboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) @pytest.mark.parametrize( "keep_yboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_squashed_doublenull( self, tmp_path_factory, bout_xyt_example_files, keep_xboundaries, keep_yboundaries, ): path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=6, nt=1, lengths=(6, 2, 4, 7), guards={"x": 2, "y": 2}, squashed=True, topology="lower-disconnected-double-null", ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=path, keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_load.py:351: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fcd03a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _________________ TestOpen.test_squashed_doublenull[True-True] _________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = keep_xboundaries = True, keep_yboundaries = True @pytest.mark.parametrize( "keep_xboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) @pytest.mark.parametrize( "keep_yboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_squashed_doublenull( self, tmp_path_factory, bout_xyt_example_files, keep_xboundaries, keep_yboundaries, ): path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=6, nt=1, lengths=(6, 2, 4, 7), guards={"x": 2, "y": 2}, squashed=True, topology="lower-disconnected-double-null", ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=path, keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_load.py:351: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f6c22c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____________ TestOpen.test_squashed_doublenull_file[False-False] ______________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = keep_xboundaries = False, keep_yboundaries = False @pytest.mark.parametrize( "keep_xboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) @pytest.mark.parametrize( "keep_yboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_squashed_doublenull_file( self, tmp_path_factory, bout_xyt_example_files, keep_xboundaries, keep_yboundaries, ): path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=6, nt=1, lengths=(6, 4, 4, 7), guards={"x": 2, "y": 2}, squashed=True, write_to_disk=True, topology="upper-disconnected-double-null", ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=path, keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_load.py:390: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fe4d720> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______________ TestOpen.test_squashed_doublenull_file[False-True] ______________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = keep_xboundaries = True, keep_yboundaries = False @pytest.mark.parametrize( "keep_xboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) @pytest.mark.parametrize( "keep_yboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_squashed_doublenull_file( self, tmp_path_factory, bout_xyt_example_files, keep_xboundaries, keep_yboundaries, ): path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=6, nt=1, lengths=(6, 4, 4, 7), guards={"x": 2, "y": 2}, squashed=True, write_to_disk=True, topology="upper-disconnected-double-null", ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=path, keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_load.py:390: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f6c2fe0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______________ TestOpen.test_squashed_doublenull_file[True-False] ______________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = keep_xboundaries = False, keep_yboundaries = True @pytest.mark.parametrize( "keep_xboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) @pytest.mark.parametrize( "keep_yboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_squashed_doublenull_file( self, tmp_path_factory, bout_xyt_example_files, keep_xboundaries, keep_yboundaries, ): path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=6, nt=1, lengths=(6, 4, 4, 7), guards={"x": 2, "y": 2}, squashed=True, write_to_disk=True, topology="upper-disconnected-double-null", ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=path, keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_load.py:390: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ef8c2e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ______________ TestOpen.test_squashed_doublenull_file[True-True] _______________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = keep_xboundaries = True, keep_yboundaries = True @pytest.mark.parametrize( "keep_xboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) @pytest.mark.parametrize( "keep_yboundaries", [False, pytest.param(True, marks=pytest.mark.long)] ) def test_squashed_doublenull_file( self, tmp_path_factory, bout_xyt_example_files, keep_xboundaries, keep_yboundaries, ): path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=6, nt=1, lengths=(6, 4, 4, 7), guards={"x": 2, "y": 2}, squashed=True, write_to_disk=True, topology="upper-disconnected-double-null", ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=path, keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_load.py:390: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fcf2260> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ________________________ TestOpen.test_combine_along_x _________________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = def test_combine_along_x(self, tmp_path_factory, bout_xyt_example_files): path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=1, nt=1, syn_data_type="stepped", write_to_disk=True, ) with pytest.warns(UserWarning): > actual = open_boutdataset(datapath=path, keep_xboundaries=False) xbout/tests/test_load.py:414: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f9b4580> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ________________________ TestOpen.test_combine_along_y _________________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = def test_combine_along_y(self, tmp_path_factory, bout_xyt_example_files): path = bout_xyt_example_files( tmp_path_factory, nxpe=1, nype=3, nt=1, syn_data_type="stepped", write_to_disk=True, ) with pytest.warns(UserWarning): > actual = open_boutdataset(datapath=path, keep_xboundaries=False) xbout/tests/test_load.py:450: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fe77d60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____________ TestOpen.test_combine_along_xy[lengths0-False-False] _____________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = bout_v5 = False, metric_3D = False, lengths = (6, 2, 4, 7) @pytest.mark.parametrize( "bout_v5,metric_3D", [(False, False), (True, False), (True, True)] ) @pytest.mark.parametrize("lengths", [(6, 2, 4, 7), (6, 2, 4, 1)]) def test_combine_along_xy( self, tmp_path_factory, bout_xyt_example_files, bout_v5, metric_3D, lengths ): path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=3, nt=1, lengths=lengths, syn_data_type="stepped", write_to_disk=True, bout_v5=bout_v5, metric_3D=metric_3D, ) with pytest.warns(UserWarning): > actual = open_boutdataset(datapath=path, keep_xboundaries=False) xbout/tests/test_load.py:497: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f23e4a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _____________ TestOpen.test_combine_along_xy[lengths0-True-False] ______________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = bout_v5 = True, metric_3D = False, lengths = (6, 2, 4, 7) @pytest.mark.parametrize( "bout_v5,metric_3D", [(False, False), (True, False), (True, True)] ) @pytest.mark.parametrize("lengths", [(6, 2, 4, 7), (6, 2, 4, 1)]) def test_combine_along_xy( self, tmp_path_factory, bout_xyt_example_files, bout_v5, metric_3D, lengths ): path = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=3, nt=1, lengths=lengths, syn_data_type="stepped", write_to_disk=True, bout_v5=bout_v5, metric_3D=metric_3D, ) with pytest.warns(UserWarning): > actual = open_boutdataset(datapath=path, keep_xboundaries=False) xbout/tests/test_load.py:497: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f64a020> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ____________________________ TestOpen.test_toroidal ____________________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = def test_toroidal(self, tmp_path_factory, bout_xyt_example_files): # actually write these to disk to test the loading fully path = bout_xyt_example_files( tmp_path_factory, nxpe=3, nype=3, nt=1, syn_data_type="stepped", grid="grid", write_to_disk=True, ) > actual = open_boutdataset( datapath=path, geometry="toroidal", gridfilepath=path.parent.joinpath("grid.nc"), ) xbout/tests/test_load.py:555: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fbfee00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________________________ TestOpen.test_salpha _____________________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = def test_salpha(self, tmp_path_factory, bout_xyt_example_files): path = bout_xyt_example_files( tmp_path_factory, nxpe=3, nype=3, nt=1, syn_data_type="stepped", grid="grid", write_to_disk=True, ) > actual = open_boutdataset( datapath=path, geometry="s-alpha", gridfilepath=path.parent.joinpath("grid.nc"), ) xbout/tests/test_load.py:589: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d104b8d60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying s-alpha geometry conventions ___________________________ TestOpen.test_drop_vars ____________________________ self = tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') bout_xyt_example_files = def test_drop_vars(self, tmp_path_factory, bout_xyt_example_files): datapath = bout_xyt_example_files( tmp_path_factory, nxpe=4, nype=1, nt=1, syn_data_type="stepped", write_to_disk=True, ) with pytest.warns(UserWarning): > ds = open_boutdataset( datapath=datapath, keep_xboundaries=False, drop_variables=["T"] ) xbout/tests/test_load.py:618: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1028a3e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d103796c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10392260> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d105a1a80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1068f040> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d106223e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d106272e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d105a30a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d106d9cc0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d105dd5a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fd83820> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fce70a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1036d540> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1052c280> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10313280> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d106f2620> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10685780> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d103526e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10675a20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10641ea0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101e07c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d106c9720> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d103a73a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fc48fa0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d105415a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10510be0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1069e260> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d106b9840> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d104698a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d106969e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d106b4700> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1064d180> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10177ee0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101c8880> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101bb7c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101edae0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101b7f40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10154f40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d102cbe20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f6b9240> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1066e920> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1036cfa0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d106ee260> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10642e60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10147ca0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d104680a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101e3b80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fc06980> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 2, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1062ab00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1013a2c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1046be80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10659840> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1017e440> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fff16c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ff23220> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ff53160> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fefd960> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffcfe20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fff8400> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1003f820> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d100f0400> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10020880> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1009b7c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d100aac20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1001b220> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffb7760> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10629c60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1066ac80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10651a20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10628040> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f68f040> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10469120> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fc566e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1066f1c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10137fa0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101794e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10169ba0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffa5420> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1017d900> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d100025c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1066bc40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10391120> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10166e60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1065bac0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ff1dd80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1014b520> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10548be0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10058b80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d100a9c60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffb39a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ff42560> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10031660> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1003a980> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10063d60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ff41900> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d106a9240> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestPlot.test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 2, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1000c3a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestPlot.test_region_limiter[0-False-False-guards0] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fefd060> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestPlot.test_region_limiter[0-False-False-guards1] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffb7fa0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestPlot.test_region_limiter[0-False-False-guards2] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10661f00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestPlot.test_region_limiter[0-False-False-guards3] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d105cb220> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[0-True-False-guards0] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffe76a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[0-True-False-guards1] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d106ad4e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[0-True-False-guards2] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ff08fa0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[0-True-False-guards3] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffc4580> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[0-False-True-guards0] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fffc3a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[0-False-True-guards1] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d105c81c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[0-False-True-guards2] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10005840> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[0-False-True-guards3] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffcea40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[0-True-True-guards0] _______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10023a60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[0-True-True-guards1] _______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101c9f00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[0-True-True-guards2] _______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10239840> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[0-True-True-guards3] _______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10149d20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestPlot.test_region_limiter[1-False-False-guards0] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10154220> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestPlot.test_region_limiter[1-False-False-guards1] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffb45e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestPlot.test_region_limiter[1-False-False-guards2] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d105ca020> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestPlot.test_region_limiter[1-False-False-guards3] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1036f700> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[1-True-False-guards0] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ff09180> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[1-True-False-guards1] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1003d600> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[1-True-False-guards2] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10653040> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[1-True-False-guards3] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffa0c40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[1-False-True-guards0] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1003d180> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[1-False-True-guards1] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10123580> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[1-False-True-guards2] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffff220> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[1-False-True-guards3] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d100f2e00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[1-True-True-guards0] _______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10121540> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[1-True-True-guards1] _______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ff50b80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[1-True-True-guards2] _______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10039660> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[1-True-True-guards3] _______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10025b40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestPlot.test_region_limiter[2-False-False-guards0] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ff518a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestPlot.test_region_limiter[2-False-False-guards1] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ff385e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestPlot.test_region_limiter[2-False-False-guards2] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10024460> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestPlot.test_region_limiter[2-False-False-guards3] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffbd420> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[2-True-False-guards0] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffb1a20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[2-True-False-guards1] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffc8040> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[2-True-False-guards2] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fffa440> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[2-True-False-guards3] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10018b80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[2-False-True-guards0] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101201c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[2-False-True-guards1] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10039660> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[2-False-True-guards2] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffa0940> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[2-False-True-guards3] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d100af1c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[2-True-True-guards0] _______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1003e980> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[2-True-True-guards1] _______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10025ba0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[2-True-True-guards2] _______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffe7be0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestPlot.test_region_limiter[2-True-True-guards3] _______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 2 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [ 0, pytest.param(1, marks=pytest.mark.long), pytest.param(2, marks=pytest.mark.long), ], ) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 5, 4, 3), nxpe=1, nype=1, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_plot.py:172: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffbada0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_core[False-False-guards0] _______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffc35e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_core[False-False-guards1] _______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d105422c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_core[False-False-guards2] _______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f37d000> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_core[False-False-guards3] _______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101a8be0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_core[True-False-guards0] ________________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d100010c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_core[True-False-guards1] ________________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10160ac0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_core[True-False-guards2] ________________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1004a380> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_core[True-False-guards3] ________________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1019d720> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_core[False-True-guards0] ________________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f37d3c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_core[False-True-guards1] ________________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101c9fc0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_core[False-True-guards2] ________________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d22d420> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_core[False-True-guards3] ________________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101f32e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_core[True-True-guards0] ________________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d107d95a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_core[True-True-guards1] ________________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101f1060> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_core[True-True-guards2] ________________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1001ba00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_core[True-True-guards3] ________________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_core( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="core", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ff82200> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_sol[False-False-guards0] ________________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d100d5600> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_sol[False-False-guards1] ________________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d20bb80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_sol[False-False-guards2] ________________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d0760e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_sol[False-False-guards3] ________________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d003100> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_sol[True-False-guards0] ________________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cb6da20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_sol[True-False-guards1] ________________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cbb9ea0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_sol[True-False-guards2] ________________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d08f340> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_sol[True-False-guards3] ________________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cb86d40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_sol[False-True-guards0] ________________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1008f340> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_sol[False-True-guards1] ________________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1036dd80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_sol[False-True-guards2] ________________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d1009ed40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_sol[False-True-guards3] ________________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10135660> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_sol[True-True-guards0] _________________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10041a20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_sol[True-True-guards1] _________________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cbb9d80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_sol[True-True-guards2] _________________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ffa5fc0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________________ TestRegion.test_region_sol[True-True-guards3] _________________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_sol( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note need to use more than (3*MXG,3*MYG) points per output file dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="sol", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d2086a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_limiter[0-False-False-guards0] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d0d3880> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_limiter[0-False-False-guards1] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cb97640> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_limiter[0-False-False-guards2] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c931600> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_limiter[0-False-False-guards3] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c9199c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[0-True-False-guards0] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c979de0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[0-True-False-guards1] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c98e200> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[0-True-False-guards2] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c9a6c80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[0-True-False-guards3] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c9ae800> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[0-False-True-guards0] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d1fec80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[0-False-True-guards1] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f37d6c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[0-False-True-guards2] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101f13c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[0-False-True-guards3] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d00ff40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[0-True-True-guards0] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10137b80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[0-True-True-guards1] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c9328c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[0-True-True-guards2] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fffb100> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[0-True-True-guards3] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True region_guards = 0 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c9a4b80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_limiter[1-False-False-guards0] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d00cbe0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_limiter[1-False-False-guards1] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d100a4be0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_limiter[1-False-False-guards2] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cb9b760> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_limiter[1-False-False-guards3] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8f7b80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[1-True-False-guards0] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c93bfa0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[1-True-False-guards1] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c996140> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[1-True-False-guards2] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d0500a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[1-True-False-guards3] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c993640> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[1-False-True-guards0] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cd81780> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[1-False-True-guards1] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8f6b60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[1-False-True-guards2] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cbb8580> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[1-False-True-guards3] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10541480> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[1-True-True-guards0] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cb85900> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[1-True-True-guards1] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d015c60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[1-True-True-guards2] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10541660> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_limiter[1-True-True-guards3] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True region_guards = 1 @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize("region_guards", [0, 1]) def test_region_limiter( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, region_guards, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="limiter", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:134: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d016500> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestRegion.test_region_xpoint[False-False-guards0] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c966680> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestRegion.test_region_xpoint[False-False-guards1] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cda9de0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestRegion.test_region_xpoint[False-False-guards2] ______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cd0ffa0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestRegion.test_region_xpoint[False-False-guards3] ______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cfa9f00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestRegion.test_region_xpoint[True-False-guards0] _______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cf171c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestRegion.test_region_xpoint[True-False-guards1] _______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cf79d20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestRegion.test_region_xpoint[True-False-guards2] _______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cf32140> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestRegion.test_region_xpoint[True-False-guards3] _______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cf51c00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestRegion.test_region_xpoint[False-True-guards0] _______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cf619c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestRegion.test_region_xpoint[False-True-guards1] _______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cfbfca0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestRegion.test_region_xpoint[False-True-guards2] _______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c91b160> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ______________ TestRegion.test_region_xpoint[False-True-guards3] _______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0f37c9a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_xpoint[True-True-guards0] _______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cf85120> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_xpoint[True-True-guards1] _______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0fc96980> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_xpoint[True-True-guards2] _______________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cba40a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______________ TestRegion.test_region_xpoint[True-True-guards3] _______________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_xpoint( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="xpoint", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:215: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10693fa0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_singlenull[False-False-guards0] ____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cd27640> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_singlenull[False-False-guards1] ____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c716c20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_singlenull[False-False-guards2] ____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c729b40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_singlenull[False-False-guards3] ____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c74f760> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_singlenull[True-False-guards0] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c84a620> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_singlenull[True-False-guards1] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c88cbe0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_singlenull[True-False-guards2] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c857b20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_singlenull[True-False-guards3] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8e18a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_singlenull[False-True-guards0] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8b20e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_singlenull[False-True-guards1] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c891e40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_singlenull[False-True-guards2] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c7a3100> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ____________ TestRegion.test_region_singlenull[False-True-guards3] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cdbc820> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_singlenull[True-True-guards0] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c6fab60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_singlenull[True-True-guards1] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c91f2e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_singlenull[True-True-guards2] _____________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cf65780> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _____________ TestRegion.test_region_singlenull[True-True-guards3] _____________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_singlenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=4, nt=1, guards=guards, grid="grid", topology="single-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d100cc400> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______ TestRegion.test_region_connecteddoublenull[False-False-guards0] ________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cf23d60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______ TestRegion.test_region_connecteddoublenull[False-False-guards1] ________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c862080> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______ TestRegion.test_region_connecteddoublenull[False-False-guards2] ________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c579fc0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _______ TestRegion.test_region_connecteddoublenull[False-False-guards3] ________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc6d600> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________ TestRegion.test_region_connecteddoublenull[True-False-guards0] ________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cca1ba0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________ TestRegion.test_region_connecteddoublenull[True-False-guards1] ________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ccad3c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________ TestRegion.test_region_connecteddoublenull[True-False-guards2] ________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ccaaf20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________ TestRegion.test_region_connecteddoublenull[True-False-guards3] ________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c5eaf20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________ TestRegion.test_region_connecteddoublenull[False-True-guards0] ________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c751840> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________ TestRegion.test_region_connecteddoublenull[False-True-guards1] ________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8a44c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________ TestRegion.test_region_connecteddoublenull[False-True-guards2] ________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c860be0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________ TestRegion.test_region_connecteddoublenull[False-True-guards3] ________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c711d80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________ TestRegion.test_region_connecteddoublenull[True-True-guards0] _________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cd54700> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________ TestRegion.test_region_connecteddoublenull[True-True-guards1] _________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8771c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________ TestRegion.test_region_connecteddoublenull[True-True-guards2] _________ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ccc59c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions ________ TestRegion.test_region_connecteddoublenull[True-True-guards3] _________ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True @pytest.mark.long @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) def test_region_connecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology="connected-double-null", ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc48340> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d13d840> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc9e7a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d1ce3e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d115660> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c4d7e20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc9fca0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d1d0160> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c800c40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cb727a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8b03a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c7686a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cf221a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c5e70a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c83dae0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c592ce0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[lower-disconnected-double-null-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc30700> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d0f99c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c487fa0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d05791420> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d15e500> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0570a3e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c860040> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc08ca0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cf50dc0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c824220> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d100cf040> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cf09720> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cd0c100> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc48520> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc4ed40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c4d5960> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull[upper-disconnected-double-null-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:885: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d18a8c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c4da440> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c6507c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc889a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d0f77c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cfa37c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8ddae0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc87100> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c768400> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d057800a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c834dc0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ccc8b20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c592f20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d05786ec0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c61e200> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c61af20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c4d2d40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c6d6200> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c590700> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d05780940> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c590460> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8d72e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c855ba0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc86ce0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d100ccf40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c7db700> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c4918a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc49300> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc782e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c828ca0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c63bd60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ceddba0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d1a7700> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d13f6a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cfa2980> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c81ad40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c860400> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c4c4400> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc31600> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8d51e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c485480> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c84b0a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d1330a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c4a43a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d0f4b80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c61cee0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8e2800> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d05782020> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c592620> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8b0ca0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc81ae0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc45540> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c578d60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c575000> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8dea40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc84ca0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c803e20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d12eb00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cd54280> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ce00c40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ce99f60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ce59240> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d13c700> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cbf5060> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d10674400> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d101f2c80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c855000> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c4ee0e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c7b6140> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d116320> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c7101c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c758760> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cea9540> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc46980> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8e1b40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d190160> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cca9420> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c6135e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc98040> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc09a20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'lower-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d11bdc0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ccd5840> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c4c7a00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c77dae0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c74f880> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ccc5900> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc7a980> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d1898a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0560d060> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d056a7340> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc86b60> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cf630a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c6fa5c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d1de3e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8dcac0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0570a560> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 0, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c7db6a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc3d360> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c69db40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c5e7c40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cee59c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c591e40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c4d17e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d15e140> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0574cdc0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c43ff40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc9af20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d131960> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d05782920> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c83e980> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cd83460> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d100ce8c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d056b95a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ce552a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c826740> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ce54ac0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ccf55a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0568efe0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d055f2260> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d188760> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d1b5cc0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc9c520> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc53c40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c77f9a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc9c040> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c4d9360> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ccc98a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c6537c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d12da80> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8d5c00> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c61cb20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c5f6980> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8d57e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d05786680> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c61a1a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c4ec3a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d1ad3c0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8a5ae0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d119e40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c557460> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8aeaa0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cc51600> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d056a4460> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d143e20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = {'theta': 1, 'x': 1}, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8dc0a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d05681720> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d055fbfa0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d056005e0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c74c520> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-False-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d056a3e20> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-False-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ceaa7a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-False-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ce55ae0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-False-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = False with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c4ef400> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d11b160> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c871ba0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c8376a0> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = False, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0578fc40> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-True-guards0] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0c91e080> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-True-guards1] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 0}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0ce76200> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-True-guards2] _ self = bout_xyt_example_files = guards = {'x': 0, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0d0f5960> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions _ TestRegion.test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-True-guards3] _ self = bout_xyt_example_files = guards = {'x': 2, 'y': 2}, keep_xboundaries = True, keep_yboundaries = True with_guards = 1, dnd_type = 'upper-disconnected-double-null' @pytest.mark.parametrize(params_guards, params_guards_values) @pytest.mark.parametrize(params_boundaries, params_boundaries_values) @pytest.mark.parametrize( "with_guards", [0, {"x": 1}, {"theta": 1}, {"x": 1, "theta": 1}, 1] ) @pytest.mark.parametrize( "dnd_type", ["lower-disconnected-double-null", "upper-disconnected-double-null"] ) def test_region_disconnecteddoublenull_get_one_guard( self, bout_xyt_example_files, guards, keep_xboundaries, keep_yboundaries, with_guards, dnd_type, ): # Note using more than MXG x-direction points and MYG y-direction points per # output file ensures tests for whether boundary cells are present do not fail # when using minimal numbers of processors dataset_list, grid_ds = bout_xyt_example_files( None, lengths=(2, 3, 4, 3), nxpe=3, nype=6, nt=1, guards=guards, grid="grid", topology=dnd_type, ) > ds = open_boutdataset( datapath=dataset_list, gridfilepath=grid_ds, geometry="toroidal", keep_xboundaries=keep_xboundaries, keep_yboundaries=keep_yboundaries, ) xbout/tests/test_region.py:1458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xbout/load.py:370: in open_boutdataset ds = geometries.apply_geometry(ds, geometry, grid=grid) xbout/geometries.py:231: in apply_geometry np.linspace(start=z0, stop=z1, num=nz, endpoint=False), dims=zcoord /usr/lib64/python3.13/site-packages/numpy/_core/function_base.py:183: in linspace y = conv.wrap(y.astype(dtype, copy=False)) /usr/lib/python3.13/site-packages/xarray/core/dataarray.py:4740: in __array_wrap__ new_var = self.variable.__array_wrap__(obj, context) /usr/lib/python3.13/site-packages/xarray/core/variable.py:2312: in __array_wrap__ return Variable(self.dims, obj) /usr/lib/python3.13/site-packages/xarray/core/variable.py:411: in __init__ super().__init__( /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:264: in __init__ self._dims = self._parse_dimensions(dims) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'xarray.core.variable.Variable' object has no attribute '_dims'") raised in repr()] Variable object at 0x7f3d0cce9060> dims = () def _parse_dimensions(self, dims: _DimsLike) -> _Dims: dims = (dims,) if isinstance(dims, str) else tuple(dims) if len(dims) != self.ndim: > raise ValueError( f"dimensions {dims} must have the same length as the " f"number of data dimensions, ndim={self.ndim}" ) E ValueError: dimensions () must have the same length as the number of data dimensions, ndim=1 /usr/lib/python3.13/site-packages/xarray/namedarray/core.py:508: ValueError ----------------------------- Captured stdout call ----------------------------- Applying toroidal geometry conventions =============================== warnings summary =============================== xbout/tests/test_against_collect.py: 21 warnings xbout/tests/test_animate.py: 38 warnings xbout/tests/test_boutdataset.py: 19 warnings xbout/tests/test_load.py: 18 warnings /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/load.py:813: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`. ds, "MXSUB", default=ds.dims["x"] - 2 * mxg, info=info xbout/tests/test_against_collect.py: 21 warnings xbout/tests/test_animate.py: 38 warnings xbout/tests/test_boutdataset.py: 19 warnings xbout/tests/test_load.py: 18 warnings /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/load.py:816: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`. ds, "MYSUB", default=ds.dims["y"] - 2 * myg, info=info xbout/tests/test_against_collect.py: 21 warnings xbout/tests/test_animate.py: 38 warnings xbout/tests/test_boutdataset.py: 19 warnings xbout/tests/test_load.py: 18 warnings /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/load.py:831: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`. nx_file = ds.dims["x"] xbout/tests/test_against_collect.py: 21 warnings xbout/tests/test_animate.py: 38 warnings xbout/tests/test_boutdataset.py: 19 warnings xbout/tests/test_load.py: 18 warnings /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/load.py:832: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`. ny_file = ds.dims["y"] xbout/tests/test_against_collect.py: 5 warnings xbout/tests/test_animate.py: 38 warnings xbout/tests/test_boutdataarray.py: 56 warnings xbout/tests/test_boutdataset.py: 84 warnings xbout/tests/test_geometries.py: 1 warning xbout/tests/test_grid.py: 5 warnings xbout/tests/test_load.py: 26 warnings xbout/tests/test_plot.py: 144 warnings xbout/tests/test_region.py: 304 warnings /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/geometries.py:147: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`. nx = updated_ds.dims[xcoord] xbout/tests/test_against_collect.py: 5 warnings xbout/tests/test_animate.py: 38 warnings xbout/tests/test_boutdataarray.py: 56 warnings xbout/tests/test_boutdataset.py: 84 warnings xbout/tests/test_load.py: 27 warnings xbout/tests/test_plot.py: 144 warnings xbout/tests/test_region.py: 304 warnings /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/geometries.py:184: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`. nz = updated_ds.dims[zcoord] xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_slab xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_salpha[CELL_CENTRE] xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_salpha[CELL_XLOW] xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_salpha[CELL_YLOW] xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_salpha[CELL_ZLOW] xbout/tests/test_boutdataset.py::TestSaveRestart::test_from_restart_to_restart xbout/tests/test_grid.py::TestOpenGrid::test_open_grid_extra_dims xbout/tests/test_load.py::TestOpen::test_restarts /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/load.py:350: UserWarning: No geometry type found, no physical coordinates will be added warn("No geometry type found, no physical coordinates will be added") xbout/tests/test_load.py::TestOpen::test_combine_along_xy[lengths0-True-True] xbout/tests/test_load.py::TestOpen::test_combine_along_xy[lengths1-False-False] xbout/tests/test_load.py::TestOpen::test_combine_along_xy[lengths1-True-False] xbout/tests/test_load.py::TestOpen::test_combine_along_xy[lengths1-True-True] /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/tests/test_load.py:520: UserWarning: rename 't_array' to 't' does not create an index anymore. Try using swap_dims instead or use set_index after rename to create an indexed coordinate. expected = expected.set_coords(["t_array", "dx", "dy", "dz"]).rename( xbout/tests/test_load.py::TestOpen::test_salpha /builddir/build/BUILD/python-xbout-0.3.6-build/xbout-0.3.6/xbout/geometries.py:482: UserWarning: rename 'x' to 'r' does not create an index anymore. Try using swap_dims instead or use set_index after rename to create an indexed coordinate. ds = ds.rename(x="r") -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================== slowest durations =============================== 4.72s call xbout/tests/test_against_collect.py::TestAccuracyAgainstOldCollect::test_new_collect_indexing_slice 2.50s call xbout/tests/test_against_collect.py::TestAccuracyAgainstOldCollect::test_new_collect_indexing_list 2.36s call xbout/tests/test_against_collect.py::TestAccuracyAgainstOldCollect::test_new_collect_indexing_int 1.97s call xbout/tests/test_boutdataset.py::TestSave::test_save_all 1.97s call xbout/tests/test_boutdataset.py::TestSaveRestart::test_to_restart_change_npe_doublenull 1.94s call xbout/tests/test_boutdataset.py::TestSaveRestart::test_to_restart_change_npe_doublenull_expect_fail[npes0] 1.91s call xbout/tests/test_load.py::TestOpen::test_combine_along_xy[lengths0-True-True] 1.90s call xbout/tests/test_load.py::TestOpen::test_combine_along_xy[lengths1-True-True] 1.82s call xbout/tests/test_boutdataset.py::TestSave::test_reload_all[None] 1.73s call xbout/tests/test_load.py::TestOpen::test_combine_along_xy[lengths1-True-False] 1.66s call xbout/tests/test_load.py::TestOpen::test_combine_along_xy[lengths1-False-False] 1.65s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_salpha[CELL_CENTRE] 1.63s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_slab 1.42s call xbout/tests/test_load.py::TestOpen::test_combine_along_xy[lengths0-True-False] 1.27s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_controls_arg[controls2] 1.15s call xbout/tests/test_load.py::TestOpen::test_combine_along_xy[lengths0-False-False] 1.15s call xbout/tests/test_boutdataset.py::TestSave::test_reload_all[toroidal] 1.13s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_ncols 1.07s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_salpha[CELL_YLOW] 1.03s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_logscale 1.03s setup xbout/tests/test_animate.py::TestAnimate::test_animate1D_controls_arg[controls0] 0.98s call xbout/tests/test_boutdataset.py::TestSaveRestart::test_to_restart_change_npe_doublenull_expect_fail[npes1] 0.97s call xbout/tests/test_load.py::TestOpen::test_toroidal 0.93s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_controls_arg[controls3] 0.91s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_titles_list 0.90s call xbout/tests/test_against_collect.py::TestAccuracyAgainstOldCollect::test_multiple_files_along_xy 0.89s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_fps 0.89s setup xbout/tests/test_animate.py::TestAnimate::test_animate2D_controls_arg[controls0] 0.89s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_vmax_list 0.86s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_controls_arg[controls0] 0.85s setup xbout/tests/test_animate.py::TestAnimate::test_animate1D 0.85s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_save_as 0.84s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_nrows 0.83s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_vmax 0.81s setup xbout/tests/test_animate.py::TestAnimate::test_animate2D_controls_arg[controls5] 0.81s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_vmin_list 0.81s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_subplots_adjust 0.80s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_logscale_float 0.80s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_not_enough_nrowsncols 0.80s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_controls_arg[controls4] 0.79s call xbout/tests/test_boutdataset.py::TestSaveRestart::test_from_restart_to_restart 0.79s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_controls_arg[controls1] 0.79s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_animate_over 0.79s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list 0.79s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_vmin 0.78s call xbout/tests/test_boutdataset.py::TestSaveRestart::test_to_restart[None] 0.77s setup xbout/tests/test_animate.py::TestAnimate::test_animate2D_controls_arg[controls1] 0.77s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_controls_arg[controls5] 0.77s setup xbout/tests/test_animate.py::TestAnimate::test_animate1D_controls_arg[controls1] 0.77s setup xbout/tests/test_animate.py::TestAnimate::test_animate2D_controls_arg[controls4] 0.76s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_logscale_list 0.76s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_1d_default 0.76s setup xbout/tests/test_animate.py::TestAnimate::test_animate2D_controls_arg[controls2] 0.75s setup xbout/tests/test_animate.py::TestAnimate::test_animate2D 0.75s setup xbout/tests/test_animate.py::TestAnimate::test_animate1D_controls_arg[controls3] 0.75s setup xbout/tests/test_animate.py::TestAnimate::test_animate1D_controls_arg[controls4] 0.75s setup xbout/tests/test_animate.py::TestAnimate::test_animate1D_controls_arg[controls5] 0.75s setup xbout/tests/test_animate.py::TestAnimate::test_animate_list_1d_multiline 0.74s setup xbout/tests/test_animate.py::TestAnimate::test_animate1D_controls_arg[controls2] 0.74s setup xbout/tests/test_animate.py::TestAnimate::test_animate2D_controls_arg[controls3] 0.59s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-False-guards3] 0.56s call xbout/tests/test_load.py::TestOpen::test_salpha 0.51s call xbout/tests/test_against_collect.py::TestAccuracyAgainstOldCollect::test_multiple_files_along_y 0.48s call xbout/tests/test_boutdataset.py::TestSave::test_reload_separate_variables[toroidal] 0.46s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-False-guards0] 0.45s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-False-guards2] 0.45s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_from_unstructured 0.44s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-False-guards2] 0.44s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-False-guards3] 0.44s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-False-guards1] 0.44s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-False-guards0] 0.44s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-False-guards1] 0.44s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-False-guards2] 0.44s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-False-guards0] 0.44s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-False-guards3] 0.44s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_from_unstructured_unstructured_output 0.44s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-False-guards1] 0.43s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-False-guards0] 0.43s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-False-guards3] 0.43s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-False-guards1] 0.43s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-False-guards2] 0.42s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-False-guards0] 0.42s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-False-guards2] 0.42s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-False-guards3] 0.42s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-False-guards1] 0.41s call xbout/tests/test_boutdataset.py::TestSave::test_save_separate_variables 0.40s call xbout/tests/test_boutdataset.py::TestSaveRestart::test_to_restart_change_npe 0.40s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel_limiter 0.39s call xbout/tests/test_load.py::TestOpen::test_combine_along_x 0.38s call xbout/tests/test_boutdataset.py::TestSaveRestart::test_to_restart[1] 0.37s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-True-guards3] 0.37s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-False-guards1] 0.36s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-False-guards1] 0.35s call xbout/tests/test_against_collect.py::TestAccuracyAgainstOldCollect::test_multiple_files_along_x 0.32s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-False-guards2] 0.32s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-True-guards0] 0.32s call xbout/tests/test_load.py::TestOpen::test_combine_along_y 0.31s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-False-guards1] 0.30s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-False-guards3] 0.29s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-True-guards0] 0.29s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-False-guards2] 0.29s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-False-guards3] 0.29s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-False-guards1] 0.29s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-False-guards2] 0.29s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-False-guards2] 0.29s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-True-guards2] 0.28s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-False-guards1] 0.28s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-False-guards0] 0.28s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-False-guards0] 0.28s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-True-guards3] 0.28s call xbout/tests/test_region.py::TestRegion::test_region_core[False-False-guards2] 0.28s call xbout/tests/test_region.py::TestRegion::test_region_core[False-False-guards3] 0.28s call xbout/tests/test_region.py::TestRegion::test_region_core[False-False-guards0] 0.28s call xbout/tests/test_region.py::TestRegion::test_region_core[False-False-guards1] 0.28s call xbout/tests/test_region.py::TestRegion::test_region_sol[False-False-guards3] 0.27s call xbout/tests/test_region.py::TestRegion::test_region_sol[False-False-guards0] 0.27s call xbout/tests/test_region.py::TestRegion::test_region_sol[False-False-guards2] 0.27s call xbout/tests/test_region.py::TestRegion::test_region_sol[False-False-guards1] 0.27s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-False-guards3] 0.27s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-False-guards0] 0.27s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-False-guards2] 0.27s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-False-guards1] 0.26s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_dataset 0.26s call xbout/tests/test_grid.py::TestOpenGrid::test_open_grid_apply_geometry 0.26s call xbout/tests/test_boutdataset.py::TestSave::test_reload_separate_variables_time_split[None] 0.25s call xbout/tests/test_boutdataset.py::TestSave::test_reload_separate_variables[None] 0.24s call xbout/tests/test_boutdataset.py::TestSave::test_reload_separate_variables_time_split[toroidal] 0.24s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_salpha[CELL_ZLOW] 0.24s call xbout/tests/test_load.py::TestOpen::test_drop_vars 0.21s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-False-guards0] 0.20s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-False-guards3] 0.19s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-False-guards0] 0.18s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-False-guards3] 0.18s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-True-guards2] 0.18s call xbout/tests/test_against_collect.py::TestAccuracyAgainstOldCollect::test_single_file 0.18s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-True-guards1] 0.18s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-True-guards3] 0.18s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-True-guards1] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-True-guards2] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-True-guards0] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-True-guards3] 0.17s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[False-0-0] 0.17s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_derivatives_doublenull 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-True-guards0] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-False-guards0] 0.17s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[False-2-2] 0.17s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[False-0-2] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-False-guards2] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-True-guards1] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-False-guards3] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-True-guards1] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-True-guards2] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-True-guards0] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-False-guards0] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-True-guards1] 0.17s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[False-2-0] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-False-guards1] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-False-guards3] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-True-guards0] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-True-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-True-guards0] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-False-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-True-guards1] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-False-guards3] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-False-guards2] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-True-guards1] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-True-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-False-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-False-guards1] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-False-guards1] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-True-guards0] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-False-guards3] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-False-guards3] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-False-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-False-guards1] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-True-guards0] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-False-guards1] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-True-guards3] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-False-guards2] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-False-guards1] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-True-guards3] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-False-guards1] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-False-guards0] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-True-guards2] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-False-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-True-guards2] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-True-guards3] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-True-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-True-guards3] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-False-guards2] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-False-guards0] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-False-guards2] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-True-guards3] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-True-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-False-guards0] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-True-guards2] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-True-guards3] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-True-guards3] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-False-guards1] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-True-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-True-guards3] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-False-guards2] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-False-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-True-guards3] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-False-guards3] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-True-guards3] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-True-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-False-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-True-guards3] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-True-guards3] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-False-guards3] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-False-guards0] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-True-guards3] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-False-guards3] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-False-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-True-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-True-guards0] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-False-guards3] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-True-guards1] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-True-guards1] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-False-guards1] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-True-guards3] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-True-guards0] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-True-guards0] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-True-guards1] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-False-guards2] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-False-guards2] 0.17s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-True-guards3] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-False-guards1] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-True-guards1] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-True-guards1] 0.17s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-True-guards0] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-True-guards1] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-False-guards0] 0.17s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-True-guards2] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-False-guards3] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-True-guards0] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-False-guards3] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-True-guards1] 0.16s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-True-guards1] 0.16s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-True-guards0] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-False-guards3] 0.16s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-True-guards1] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-False-guards3] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-False-guards2] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-False-guards0] 0.16s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-True-guards2] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-False-guards0] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-False-guards3] 0.16s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-False-guards2] 0.16s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-True-guards2] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-False-guards2] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-True-guards3] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-False-guards0] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-False-guards0] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-True-guards3] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-True-guards1] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-False-guards0] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-False-guards2] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-True-guards2] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-False-guards1] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-True-guards3] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-True-guards1] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-False-guards1] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-False-guards3] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-True-guards0] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-True-guards0] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-False-guards1] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-False-guards0] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-False-guards0] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-True-guards2] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-False-guards1] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-False-guards3] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-False-guards1] 0.16s call xbout/tests/test_load.py::TestOpen::test_restarts 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-True-guards0] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-True-guards2] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-True-guards0] 0.16s call xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-True-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-False-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-True-guards3] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-True-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-True-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-False-guards0] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-False-guards2] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-False-guards1] 0.16s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-False-guards2] 0.15s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-True-guards3] 0.15s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-True-guards1] 0.15s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-False-guards3] 0.15s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-True-guards2] 0.15s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-False-guards0] 0.15s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-True-guards0] 0.15s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-True-guards2] 0.15s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-True-guards0] 0.15s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-True-guards2] 0.15s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-True-guards3] 0.15s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-True-guards1] 0.15s call xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-False-guards1] 0.14s call xbout/tests/test_load.py::TestOpen::test_squashed_doublenull_file[False-False] 0.13s call xbout/tests/test_fastoutput.py::TestFastOutput::test_open_fastoutput 0.12s call xbout/tests/test_load.py::TestOpen::test_squashed_file 0.12s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-True-guards0] 0.11s call xbout/tests/test_boutdataset.py::TestSave::test_save_dtype[False-float64] 0.11s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-False-guards3] 0.11s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-False-guards1] 0.11s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-True-guards3] 0.11s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-True-guards1] 0.11s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-False-guards0] 0.11s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-True-guards2] 0.11s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-True-guards0] 0.11s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-False-guards1] 0.11s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-False-guards2] 0.11s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-True-guards3] 0.11s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-True-guards0] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-True-guards1] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-False-guards2] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-False-guards2] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-True-guards3] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-False-guards0] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-True-guards1] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-True-guards2] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-True-guards1] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-True-guards2] 0.10s call xbout/tests/test_load.py::TestOpen::test_squashed_doublenull_file[True-False] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-True-guards3] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-False-guards3] 0.10s call xbout/tests/test_against_collect.py::TestAccuracyAgainstOldCollect::test_metadata 0.10s call xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-True-guards0] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-False-guards1] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-True-guards0] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-False-guards0] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_sol[True-False-guards0] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-False-guards3] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-False-guards2] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-True-guards1] 0.10s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-True-guards3] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-True-guards1] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-True-guards2] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-True-guards0] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-True-guards3] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-False-guards1] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-False-guards3] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_core[False-True-guards2] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-True-guards2] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-True-guards2] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-False-guards2] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_core[False-True-guards1] 0.09s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_region_singlenull 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-True-guards1] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_core[False-True-guards0] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-False-guards0] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-True-guards3] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-True-guards0] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-False-guards3] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_core[False-True-guards3] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_core[True-False-guards2] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_core[True-False-guards3] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-False-guards1] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_core[True-True-guards3] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_sol[True-False-guards1] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_core[True-False-guards1] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_core[True-False-guards0] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_core[True-True-guards0] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-True-guards1] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_core[True-True-guards1] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-True-guards3] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-True-guards2] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_core[True-True-guards2] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-False-guards0] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_sol[True-False-guards2] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_sol[True-True-guards0] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_sol[True-True-guards2] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_sol[False-True-guards3] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_sol[False-True-guards1] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_sol[False-True-guards2] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_sol[True-True-guards3] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_sol[False-True-guards0] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_sol[True-True-guards1] 0.09s call xbout/tests/test_region.py::TestRegion::test_region_sol[True-False-guards3] 0.09s call xbout/tests/test_boutdataset.py::TestBoutDatasetIsXarrayDataset::test_concat 0.09s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_get_field_aligned 0.08s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_salpha[CELL_XLOW] 0.08s call xbout/tests/test_load.py::TestOpen::test_single_file 0.08s call xbout/tests/test_load.py::TestOpen::test_squashed_doublenull_file[False-True] 0.08s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_remove_yboundaries[0-0] 0.08s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_remove_yboundaries[0-2] 0.08s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[True-0-0] 0.08s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[True-0-2] 0.08s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_remove_yboundaries[2-0] 0.08s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[True-2-0] 0.08s call xbout/tests/test_boutdataset.py::TestSave::test_save_dtype[False-float32] 0.07s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[True-2-2] 0.07s call xbout/tests/test_boutdataset.py::TestSave::test_save_dtype[True-float32] 0.07s call xbout/tests/test_load.py::TestOpen::test_squashed_doublenull_file[True-True] 0.07s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_remove_yboundaries[2-2] 0.07s call xbout/tests/test_boutdataset.py::TestSave::test_save_dtype[True-float64] 0.05s call xbout/tests/test_grid.py::TestOpenGrid::test_open_grid 0.04s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_toroidal_points 0.04s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel 0.04s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_toroidal_points_list 0.04s call xbout/tests/test_load.py::test_set_fci_coords 0.04s call xbout/tests/test_grid.py::TestOpenGrid::test_open_grid_extra_dims 0.04s call xbout/tests/test_grid.py::TestOpenGrid::test_open_grid_chunks 0.04s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-False-guards3] 0.04s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-False-guards2] 0.04s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-False-guards0] 0.04s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-False-guards1] 0.03s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_ddy 0.03s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_region_core 0.03s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_region_sol 0.03s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel_all_variables_arg 0.03s call xbout/tests/test_grid.py::TestOpenGrid::test_open_grid_chunks_not_in_grid 0.03s call xbout/tests/test_load.py::TestPathHandling::test_glob_expansion_both[3-111] 0.03s call xbout/tests/test_load.py::TestPathHandling::test_glob_expansion_brackets[3-111] 0.03s call xbout/tests/test_load.py::TestPathHandling::test_glob_expansion_both[121-2] 0.03s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[False-9] 0.03s call xbout/tests/test_load.py::TestOpen::test_squashed_doublenull[False-False] 0.03s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_to_cartesian 0.02s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[False-6] 0.02s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[False-8] 0.02s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_add_cartesian_coordinates 0.02s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_ddx 0.02s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_ddz 0.02s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[False-7] 0.02s setup xbout/tests/test_load.py::test_set_fci_coords 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-False-guards1] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-True-guards3] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-False-guards3] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-True-guards2] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-True-guards2] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-False-guards3] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-False-guards0] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-False-guards2] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-False-guards3] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-True-guards3] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-False-guards2] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-False-guards2] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-False-guards1] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-True-guards2] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-True-guards3] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-False-guards2] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-True-guards3] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-False-guards2] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-False-guards3] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-False-guards1] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-True-guards1] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-False-guards3] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-True-guards1] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-True-guards0] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-True-guards0] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-False-guards1] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-True-guards3] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-True-guards1] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-False-guards0] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-False-guards0] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-True-guards0] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-True-guards1] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-True-guards0] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-True-guards1] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-True-guards2] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-False-guards1] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-True-guards2] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-True-guards3] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-True-guards0] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-False-guards0] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-True-guards2] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-False-guards0] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-True-guards1] 0.02s call xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-True-guards0] 0.02s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_region_core_change_n[18] 0.02s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_region_core_change_n[7] 0.02s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_region_core_change_n[2] 0.02s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_region_core_change_n[3] 0.02s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_sol 0.02s call xbout/tests/test_load.py::TestTrim::test_trim_timing_info[True] 0.02s call xbout/tests/test_load.py::TestStripMetadata::test_strip_metadata 0.01s call xbout/calc/tests/test_turbulence.py::TestRootMeanSquare::test_reduce_2d_dask 0.01s call xbout/tests/test_load.py::TestTrim::test_trim_timing_info[False] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetIsXarrayDataset::test_isel 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_to_cartesian 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[True-9] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull_by_filenum[0-3-1-4-lower_boundaries3-upper_boundaries3] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned[7] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_staggered[True-CELL_XLOW] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_add_cartesian_coordinates 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_from_field_aligned[8] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[True-6] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[True-8] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned_dask 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[True-6] 0.01s call xbout/tests/test_load.py::TestOpen::test_squashed_doublenull[True-False] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned[8] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned_staggered[CELL_ZLOW] 0.01s call xbout/tests/test_load.py::TestOpen::test_squashed_doublenull[False-True] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[True-9] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_from_field_aligned_staggered[CELL_XLOW] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[False-6] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_from_field_aligned[7] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[True-7] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_staggered[True-CELL_YLOW] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_dask[True] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_from_field_aligned_staggered[CELL_YLOW] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned[9] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[True-7] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[False-7] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_staggered[False-CELL_ZLOW] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_staggered[False-CELL_XLOW] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_from_field_aligned[6] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_from_field_aligned_staggered[CELL_ZLOW] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned[6] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[False-9] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_staggered[False-CELL_YLOW] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned_staggered[CELL_YLOW] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned_staggered[False-CELL_ZLOW] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_from_field_aligned[9] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned_staggered[False-CELL_XLOW] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned_staggered[True-CELL_ZLOW] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_staggered[True-CELL_ZLOW] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned_staggered[False-CELL_YLOW] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned_staggered[True-CELL_XLOW] 0.01s call xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned_staggered[CELL_XLOW] 0.01s call xbout/tests/test_load.py::TestOpen::test_squashed_doublenull[True-True] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned_staggered[True-CELL_YLOW] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_dask[False] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[True-8] 0.01s call xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[False-8] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[0-1-3-4-lower_boundaries7-upper_boundaries7] 0.01s call xbout/tests/test_load.py::TestTrim::test_keep_yboundaries_doublenull_by_filenum[False-2-True-False] 0.01s call xbout/tests/test_load.py::TestTrim::test_keep_yboundaries_doublenull_by_filenum[True-3-False-True] 0.01s call xbout/tests/test_load.py::TestTrim::test_keep_yboundaries_doublenull_by_filenum[True-1-False-True] 0.01s call xbout/tests/test_load.py::TestTrim::test_keep_yboundaries_doublenull_by_filenum[False-3-False-True] 0.01s call xbout/tests/test_load.py::TestTrim::test_keep_yboundaries_doublenull_by_filenum[True-0-True-False] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[2-3-3-4-lower_boundaries15-upper_boundaries15] 0.01s call xbout/tests/test_load.py::TestTrim::test_keep_yboundaries_doublenull_by_filenum[True-2-True-False] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[0-3-3-4-lower_boundaries13-upper_boundaries13] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[1-2-3-4-lower_boundaries11-upper_boundaries11] 0.01s call xbout/tests/test_load.py::TestTrim::test_no_trim[False] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[1-1-3-4-lower_boundaries8-upper_boundaries8] 0.01s call xbout/tests/test_load.py::TestTrim::test_keep_yboundaries_doublenull_by_filenum[False-0-True-False] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[1-3-3-4-lower_boundaries14-upper_boundaries14] 0.01s call xbout/tests/test_load.py::TestTrim::test_keep_yboundaries_doublenull_by_filenum[False-1-False-True] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[2-1-3-4-lower_boundaries9-upper_boundaries9] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[0-2-3-4-lower_boundaries10-upper_boundaries10] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[1-0-3-4-lower_boundaries5-upper_boundaries5] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[0-3-1-4-lower_boundaries3-upper_boundaries3] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull_by_filenum[0-0-3-4-lower_boundaries4-upper_boundaries4] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[2-0-3-4-lower_boundaries6-upper_boundaries6] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[0-0-1-4-lower_boundaries0-upper_boundaries0] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[0-0-3-4-lower_boundaries4-upper_boundaries4] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[2-2-3-4-lower_boundaries12-upper_boundaries12] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[0-2-1-4-lower_boundaries2-upper_boundaries2] 0.01s call xbout/tests/test_load.py::TestTrim::test_infer_boundaries_2d_parallelization_doublenull[0-1-1-4-lower_boundaries1-upper_boundaries1] 0.01s setup xbout/tests/test_grid.py::TestOpenGrid::test_open_grid (1646 durations < 0.005s hidden. Use -vv to show these durations.) =========================== short test summary info ============================ FAILED xbout/tests/test_against_collect.py::TestAccuracyAgainstOldCollect::test_single_file FAILED xbout/tests/test_against_collect.py::TestAccuracyAgainstOldCollect::test_multiple_files_along_x FAILED xbout/tests/test_against_collect.py::TestAccuracyAgainstOldCollect::test_multiple_files_along_y FAILED xbout/tests/test_against_collect.py::TestAccuracyAgainstOldCollect::test_multiple_files_along_xy FAILED xbout/tests/test_against_collect.py::TestAccuracyAgainstOldCollect::test_metadata FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_dataset FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[False-0-0] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[False-0-2] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[False-2-0] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[False-2-2] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[True-0-0] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[True-0-2] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[True-2-0] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_remove_yboundaries[True-2-2] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[False-6] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[False-7] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[False-8] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[False-9] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[True-6] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[True-7] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[True-8] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned[True-9] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_dask[False] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_dask[True] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[False-6] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[False-7] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[False-8] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[False-9] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[True-6] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[True-7] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[True-8] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned[True-9] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_staggered[False-CELL_XLOW] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_staggered[False-CELL_YLOW] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_staggered[False-CELL_ZLOW] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_staggered[True-CELL_XLOW] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_staggered[True-CELL_YLOW] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_to_field_aligned_staggered[True-CELL_ZLOW] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned_staggered[False-CELL_XLOW] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned_staggered[False-CELL_YLOW] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned_staggered[False-CELL_ZLOW] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned_staggered[True-CELL_XLOW] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned_staggered[True-CELL_YLOW] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_from_field_aligned_staggered[True-CELL_ZLOW] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_region_core FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_region_core_change_n[2] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_region_core_change_n[3] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_region_core_change_n[7] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_region_core_change_n[18] FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_region_sol FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_region_singlenull FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_sol FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_toroidal_points FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_parallel_toroidal_points_list FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_interpolate_to_cartesian FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_add_cartesian_coordinates FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_ddx FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_ddy FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_ddz FAILED xbout/tests/test_boutdataarray.py::TestBoutDataArrayMethods::test_derivatives_doublenull FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetIsXarrayDataset::test_concat FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetIsXarrayDataset::test_isel FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_get_field_aligned FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_remove_yboundaries[0-0] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_remove_yboundaries[0-2] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_remove_yboundaries[2-0] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_remove_yboundaries[2-2] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned[6] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned[7] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned[8] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned[9] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned_dask FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_from_field_aligned[6] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_from_field_aligned[7] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_from_field_aligned[8] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_from_field_aligned[9] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned_staggered[CELL_XLOW] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned_staggered[CELL_YLOW] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_to_field_aligned_staggered[CELL_ZLOW] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_from_field_aligned_staggered[CELL_XLOW] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_from_field_aligned_staggered[CELL_YLOW] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_from_field_aligned_staggered[CELL_ZLOW] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-False-guards0] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-False-guards1] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-False-guards2] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-False-guards3] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-False-guards0] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-False-guards1] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-False-guards2] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-False-guards3] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-True-guards0] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-True-guards1] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-True-guards2] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-False-True-guards3] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-True-guards0] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-True-guards1] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-True-guards2] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate0-True-True-guards3] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-False-guards0] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-False-guards1] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-False-guards2] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-False-guards3] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-False-guards0] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-False-guards1] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-False-guards2] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-False-guards3] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-True-guards0] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-True-guards1] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-True-guards2] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-False-True-guards3] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-True-guards0] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-True-guards1] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-True-guards2] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel[vars_to_interpolate1-True-True-guards3] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel_all_variables_arg FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_parallel_limiter FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_slab FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_salpha[CELL_CENTRE] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_salpha[CELL_XLOW] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_salpha[CELL_YLOW] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_integrate_midpoints_salpha[CELL_ZLOW] FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_from_unstructured FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_from_unstructured_unstructured_output FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_interpolate_to_cartesian FAILED xbout/tests/test_boutdataset.py::TestBoutDatasetMethods::test_add_cartesian_coordinates FAILED xbout/tests/test_boutdataset.py::TestSave::test_save_all - ValueError:... FAILED xbout/tests/test_boutdataset.py::TestSave::test_reload_all[None] - Val... FAILED xbout/tests/test_boutdataset.py::TestSave::test_reload_all[toroidal] FAILED xbout/tests/test_boutdataset.py::TestSave::test_save_dtype[False-float64] FAILED xbout/tests/test_boutdataset.py::TestSave::test_save_dtype[False-float32] FAILED xbout/tests/test_boutdataset.py::TestSave::test_save_dtype[True-float64] FAILED xbout/tests/test_boutdataset.py::TestSave::test_save_dtype[True-float32] FAILED xbout/tests/test_boutdataset.py::TestSave::test_save_separate_variables FAILED xbout/tests/test_boutdataset.py::TestSave::test_reload_separate_variables[None] FAILED xbout/tests/test_boutdataset.py::TestSave::test_reload_separate_variables[toroidal] FAILED xbout/tests/test_boutdataset.py::TestSave::test_reload_separate_variables_time_split[None] FAILED xbout/tests/test_boutdataset.py::TestSave::test_reload_separate_variables_time_split[toroidal] FAILED xbout/tests/test_boutdataset.py::TestSaveRestart::test_to_restart[None] FAILED xbout/tests/test_boutdataset.py::TestSaveRestart::test_to_restart[1] FAILED xbout/tests/test_boutdataset.py::TestSaveRestart::test_to_restart_change_npe FAILED xbout/tests/test_boutdataset.py::TestSaveRestart::test_to_restart_change_npe_doublenull FAILED xbout/tests/test_boutdataset.py::TestSaveRestart::test_to_restart_change_npe_doublenull_expect_fail[npes0] FAILED xbout/tests/test_boutdataset.py::TestSaveRestart::test_to_restart_change_npe_doublenull_expect_fail[npes1] FAILED xbout/tests/test_load.py::TestOpen::test_single_file - ValueError: dim... FAILED xbout/tests/test_load.py::TestOpen::test_squashed_file - ValueError: d... FAILED xbout/tests/test_load.py::TestOpen::test_squashed_doublenull[False-False] FAILED xbout/tests/test_load.py::TestOpen::test_squashed_doublenull[False-True] FAILED xbout/tests/test_load.py::TestOpen::test_squashed_doublenull[True-False] FAILED xbout/tests/test_load.py::TestOpen::test_squashed_doublenull[True-True] FAILED xbout/tests/test_load.py::TestOpen::test_squashed_doublenull_file[False-False] FAILED xbout/tests/test_load.py::TestOpen::test_squashed_doublenull_file[False-True] FAILED xbout/tests/test_load.py::TestOpen::test_squashed_doublenull_file[True-False] FAILED xbout/tests/test_load.py::TestOpen::test_squashed_doublenull_file[True-True] FAILED xbout/tests/test_load.py::TestOpen::test_combine_along_x - ValueError:... FAILED xbout/tests/test_load.py::TestOpen::test_combine_along_y - ValueError:... FAILED xbout/tests/test_load.py::TestOpen::test_combine_along_xy[lengths0-False-False] FAILED xbout/tests/test_load.py::TestOpen::test_combine_along_xy[lengths0-True-False] FAILED xbout/tests/test_load.py::TestOpen::test_toroidal - ValueError: dimens... FAILED xbout/tests/test_load.py::TestOpen::test_salpha - ValueError: dimensio... FAILED xbout/tests/test_load.py::TestOpen::test_drop_vars - ValueError: dimen... FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-False-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-0-True-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-False-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-1-True-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-False-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[lower-disconnected-double-null-2-True-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-False-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-0-True-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-False-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-1-True-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-False-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_disconnecteddoublenull[upper-disconnected-double-null-2-True-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-False-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[0-True-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-False-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[1-True-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-False-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-False-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-False-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-False-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-False-True-guards3] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-True-guards0] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-True-guards1] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-True-guards2] FAILED xbout/tests/test_plot.py::TestPlot::test_region_limiter[2-True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_core[True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_sol[True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[0-True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_limiter[1-True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_xpoint[True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_singlenull[True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_connecteddoublenull[True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[lower-disconnected-double-null-True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull[upper-disconnected-double-null-True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-0-True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards1-True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards2-True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-with_guards3-True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[lower-disconnected-double-null-1-True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-0-True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards1-True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards2-True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-with_guards3-True-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-False-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-False-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-False-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-False-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-False-True-guards3] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-True-guards0] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-True-guards1] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-True-guards2] FAILED xbout/tests/test_region.py::TestRegion::test_region_disconnecteddoublenull_get_one_guard[upper-disconnected-double-null-1-True-True-guards3] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate2D - ValueError: ... ERROR xbout/tests/test_animate.py::TestAnimate::test_animate2D_controls_arg[controls0] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate2D_controls_arg[controls1] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate2D_controls_arg[controls2] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate2D_controls_arg[controls3] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate2D_controls_arg[controls4] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate2D_controls_arg[controls5] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate1D - ValueError: ... ERROR xbout/tests/test_animate.py::TestAnimate::test_animate1D_controls_arg[controls0] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate1D_controls_arg[controls1] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate1D_controls_arg[controls2] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate1D_controls_arg[controls3] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate1D_controls_arg[controls4] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate1D_controls_arg[controls5] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list - ValueErro... ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_1d_default ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_1d_multiline ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_animate_over ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_save_as - V... ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_fps - Value... ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_nrows - Val... ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_ncols - Val... ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_not_enough_nrowsncols ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_subplots_adjust ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_vmin - Valu... ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_vmin_list ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_vmax - Valu... ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_vmax_list ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_logscale - ... ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_logscale_float ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_logscale_list ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_titles_list ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_controls_arg[controls0] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_controls_arg[controls1] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_controls_arg[controls2] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_controls_arg[controls3] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_controls_arg[controls4] ERROR xbout/tests/test_animate.py::TestAnimate::test_animate_list_controls_arg[controls5] = 609 failed, 144 passed, 5 skipped, 1718 warnings, 38 errors in 257.19s (0:04:17) = RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.XWNuAP (%check) Bad exit status from /var/tmp/rpm-tmp.XWNuAP (%check) Finish: rpmbuild python-xbout-0.3.6-4.fc42.src.rpm Finish: build phase for python-xbout-0.3.6-4.fc42.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1736345114.814467/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names ERROR: Exception(/var/lib/copr-rpmbuild/results/python-xbout-0.3.6-4.fc42.src.rpm) Config(fedora-rawhide-x86_64) 5 minutes 3 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_failure=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M 6faeb0b8e62147d59318725e8c99b885 -D /var/lib/mock/fedora-rawhide-x86_64-1736345114.814467/root -a -u mockbuild --capability=cap_ipc_lock --rlimit=RLIMIT_NOFILE=10240 --capability=cap_ipc_lock --bind=/tmp/mock-resolv.z14e1dex:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;\007"' '--setenv=PS1= \s-\v\$ ' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c '/usr/bin/rpmbuild -ba --noprep --target x86_64 /builddir/build/originals/python-xbout.spec' Copr build error: Build failed