From 8305b06b6c20bef48c80fb11bd00aa7bd6efa339 Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 12:50:19 +0200
Subject: [PATCH 01/21] use join method "override"

---
 weldx/transformations/local_cs.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/weldx/transformations/local_cs.py b/weldx/transformations/local_cs.py
index 530364ac5..4ac9df60e 100644
--- a/weldx/transformations/local_cs.py
+++ b/weldx/transformations/local_cs.py
@@ -105,7 +105,7 @@ def __init__(
             coordinates.name = "coordinates"
             dataset_items.append(coordinates)
 
-        self._dataset = xr.merge(dataset_items, join="exact")
+        self._dataset = xr.merge(dataset_items, join="override")
 
         self._time_ref = time_cls.reference_time if isinstance(time_cls, Time) else None
         if "time" in self._dataset and self._time_ref is not None:

From 39a20565286c066333bd7e65191607c6640e128e Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 12:54:07 +0200
Subject: [PATCH 02/21] updated dep

---
 pyproject.toml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pyproject.toml b/pyproject.toml
index c04332fd8..86df6a079 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -38,7 +38,7 @@ dependencies = [
     "numpy >=1.20",
     "asdf >=2.8.2,!=2.14.0,!=2.14.1,!=2.14.2",
     "pandas >=1.0",
-    "xarray >=0.19,<2022.09.0",
+    "xarray >=2023.3.0",
     "scipy >=1.4,!=1.6.0,!=1.6.1",
     "sympy >=1.6",
     "pint >=0.18",

From 19bcf9ec5b1aa53d1b8ab8c237edfad039152d7c Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 12:55:05 +0200
Subject: [PATCH 03/21] amend changelog

---
 CHANGELOG.md | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 27ef8367c..9b95c4b2c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
 # Release Notes
 
+## 0.6.5 (unreleased)
+
+### Dependencies
+
+- require XArray >= 2023.3.0, as `LocalCoordinateSystem` now handles merges correctly \[{pull}`861`\].
+
 ## 0.6.4 (09.02.2023)
 
 Version `0.6.4` is a small maintenance release with no changes affecting user code.

From 412097008c6cf48d5f2bdd8f3402e0836d0009e4 Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 13:04:47 +0200
Subject: [PATCH 04/21] require at least Python 3.9

---
 pyproject.toml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pyproject.toml b/pyproject.toml
index 86df6a079..31167e39f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -33,7 +33,7 @@ classifiers = [
 ]
 
 # Dependencies
-requires-python = ">=3.8"
+requires-python = ">=3.9"
 dependencies = [
     "numpy >=1.20",
     "asdf >=2.8.2,!=2.14.0,!=2.14.1,!=2.14.2",

From 5b8938f0fc12ae3d727769f59dac4fcf1e4a51b2 Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 13:06:16 +0200
Subject: [PATCH 05/21] py39

---
 devtools/environment.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/devtools/environment.yml b/devtools/environment.yml
index 2bfa12966..3e787a7c5 100644
--- a/devtools/environment.yml
+++ b/devtools/environment.yml
@@ -3,7 +3,7 @@ channels:
   - defaults
   - conda-forge
 dependencies:
-  - python=3.8
+  - python=3.9
   - setuptools_scm
   - numpy>=1.18
   - pandas>=1.0

From f7126a5552cfe62f65635e75c966c2d5ada70ad8 Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 13:07:22 +0200
Subject: [PATCH 06/21] py39

---
 .github/workflows/pytest.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml
index 42f7bcddf..0f5eddcd1 100644
--- a/.github/workflows/pytest.yml
+++ b/.github/workflows/pytest.yml
@@ -30,7 +30,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [ubuntu-latest]
-        py: ['3.8', '3.9', '3.10', '3.11']
+        py: ['3.9', '3.10', '3.11']
     steps:
       - uses: actions/checkout@v3
         with:

From 92ed690c48450851cbc3bee2db87e557aaf093eb Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 13:28:32 +0200
Subject: [PATCH 07/21] py39

---
 .github/workflows/build_pkg.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/build_pkg.yml b/.github/workflows/build_pkg.yml
index c344497dd..89ec9df9d 100644
--- a/.github/workflows/build_pkg.yml
+++ b/.github/workflows/build_pkg.yml
@@ -72,7 +72,7 @@ jobs:
           fetch-depth: 0 # Fetch all history for all tags and branches
       - uses: actions/setup-python@v4
         with:
-          python-version: '3.8'
+          python-version: '3.9'
 
       - name: Cache pip
         uses: actions/cache@v3

From 730b35cc50adef2e7f62672640370e49ade10ad7 Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 13:28:45 +0200
Subject: [PATCH 08/21] tidy up pytest action

---
 .../workflows/install_quality_standards.yml   | 11 +++++
 .github/workflows/pytest.yml                  | 46 +++----------------
 .github/workflows/run_tests.yml               | 20 ++++++++
 3 files changed, 37 insertions(+), 40 deletions(-)
 create mode 100644 .github/workflows/install_quality_standards.yml
 create mode 100644 .github/workflows/run_tests.yml

diff --git a/.github/workflows/install_quality_standards.yml b/.github/workflows/install_quality_standards.yml
new file mode 100644
index 000000000..40dc06473
--- /dev/null
+++ b/.github/workflows/install_quality_standards.yml
@@ -0,0 +1,11 @@
+name: install quality standards requisites
+jobs:
+  steps:
+    - name: cookiecutter
+      run: pip install cookiecutter
+
+    - name: create installable quality standard from repo
+      run: cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template
+
+    - name: install quality standard
+      run: pip install -e ./quality_standard_demo
diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml
index 0f5eddcd1..88ea3e7ef 100644
--- a/.github/workflows/pytest.yml
+++ b/.github/workflows/pytest.yml
@@ -60,20 +60,10 @@ jobs:
       - name: activate env
         run: micromamba activate weldx
 
-      - name: install cookiecutter
+      - name: install quality standards requisites
         if: matrix.py == '3.8'
-        run: |
-          pip install cookiecutter
-
-      - name: create installable quality standard from repo
-        if: matrix.py == '3.8'
-        run: |
-          cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template
-
-      - name: install quality standard
-        if: matrix.py == '3.8'
-        run: |
-          pip install -e ./quality_standard_demo
+        include: ./install_quality_standards.yml
+        job: install_quality_standards
 
       - name: run pytest
         run: |
@@ -86,34 +76,10 @@ jobs:
           name: Unit Test Results
           path: pytest.xml
 
-      - name: run pytest on notebooks (append coverage)
-        if: matrix.py == '3.8'
-        run: |
-          pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/
-
-      - name: test with WeldxFile
-        if: matrix.py == '3.8'
-        run: |
-          pytest -n 2  --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests
-
-      - name: test quality standard
-        if: matrix.py == '3.8'
-        run: |
-          pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py
-
-
-      - name: test installable quality standard from template repository
-        if: matrix.py == '3.8'
-        run: |
-          pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py
-
-      - name: coverage xml (combination is performed by pytest-cov)
-        if: matrix.py == '3.8'
-        run: coverage xml
-
-      - name: codecov.io
+      - name: run advanced unit tests (asdf) with coverage
         if: matrix.py == '3.8'
-        uses: codecov/codecov-action@v3.1.1
+        include: ./run_tests.yml
+        job: run_tests
 
   compat:
     name: pytest
diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml
new file mode 100644
index 000000000..743eb8fca
--- /dev/null
+++ b/.github/workflows/run_tests.yml
@@ -0,0 +1,20 @@
+name: Run unit tests with coverage
+jobs:
+  steps:
+    - name: run pytest on notebooks (append coverage)
+      run: pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/
+
+    - name: test with WeldxFile
+      run: pytest -n 2  --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests
+
+    - name: test quality standard
+      run: pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py
+
+    - name: test installable quality standard from template repository
+      run: pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py
+
+    - name: coverage xml (combination is performed by pytest-cov)
+      run: coverage xml
+
+    - name: codecov.io
+      uses: codecov/codecov-action@v3.1.1

From 102802808eeb64ba79fa0c6b66d607bad4f6f5d4 Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 13:32:33 +0200
Subject: [PATCH 09/21] f

---
 .github/workflows/install_quality_standards.yml | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/.github/workflows/install_quality_standards.yml b/.github/workflows/install_quality_standards.yml
index 40dc06473..24b82a164 100644
--- a/.github/workflows/install_quality_standards.yml
+++ b/.github/workflows/install_quality_standards.yml
@@ -1,11 +1,12 @@
 name: install quality standards requisites
 jobs:
-  steps:
-    - name: cookiecutter
-      run: pip install cookiecutter
+  install_quality_standards:
+    steps:
+      - name: cookiecutter
+        run: pip install cookiecutter
 
-    - name: create installable quality standard from repo
-      run: cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template
+      - name: create installable quality standard from repo
+        run: cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template
 
-    - name: install quality standard
-      run: pip install -e ./quality_standard_demo
+      - name: install quality standard
+        run: pip install -e ./quality_standard_demo

From 2ca02b9d4d79474be07f0b7bf13e853c3bcd27d3 Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 13:33:25 +0200
Subject: [PATCH 10/21] f

---
 .github/workflows/run_tests.yml | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml
index 743eb8fca..7770a6cd5 100644
--- a/.github/workflows/run_tests.yml
+++ b/.github/workflows/run_tests.yml
@@ -1,20 +1,21 @@
 name: Run unit tests with coverage
 jobs:
-  steps:
-    - name: run pytest on notebooks (append coverage)
-      run: pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/
+  run_tests:
+    steps:
+      - name: run pytest on notebooks (append coverage)
+        run: pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/
 
-    - name: test with WeldxFile
-      run: pytest -n 2  --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests
+      - name: test with WeldxFile
+        run: pytest -n 2  --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests
 
-    - name: test quality standard
-      run: pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py
+      - name: test quality standard
+        run: pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py
 
-    - name: test installable quality standard from template repository
-      run: pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py
+      - name: test installable quality standard from template repository
+        run: pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py
 
-    - name: coverage xml (combination is performed by pytest-cov)
-      run: coverage xml
+      - name: coverage xml (combination is performed by pytest-cov)
+        run: coverage xml
 
-    - name: codecov.io
-      uses: codecov/codecov-action@v3.1.1
+      - name: codecov.io
+        uses: codecov/codecov-action@v3.1.1

From 7ac392a9deb33048c8243dd7519ab4c20cf1630a Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 14:02:44 +0200
Subject: [PATCH 11/21] py39 in build_env

---
 devtools/conda.recipe/build_env.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/devtools/conda.recipe/build_env.yml b/devtools/conda.recipe/build_env.yml
index bb9511c5e..a0cb69761 100644
--- a/devtools/conda.recipe/build_env.yml
+++ b/devtools/conda.recipe/build_env.yml
@@ -3,7 +3,7 @@ channels:
   - conda-forge
   - defaults
 dependencies:
-  - python=3.8
+  - python=3.9
   - setuptools
   - setuptools_scm
   - conda-verify

From a0cf4373cdaecb96c2e0d7f878525555dd45ab62 Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 14:04:46 +0200
Subject: [PATCH 12/21] fix cond

---
 .github/workflows/pytest.yml                              | 8 ++++----
 .../{ => unit_tests}/install_quality_standards.yml        | 0
 .github/workflows/{ => unit_tests}/run_tests.yml          | 0
 3 files changed, 4 insertions(+), 4 deletions(-)
 rename .github/workflows/{ => unit_tests}/install_quality_standards.yml (100%)
 rename .github/workflows/{ => unit_tests}/run_tests.yml (100%)

diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml
index 88ea3e7ef..931f68d2e 100644
--- a/.github/workflows/pytest.yml
+++ b/.github/workflows/pytest.yml
@@ -61,8 +61,8 @@ jobs:
         run: micromamba activate weldx
 
       - name: install quality standards requisites
-        if: matrix.py == '3.8'
-        include: ./install_quality_standards.yml
+        if: matrix.py == '3.9'
+        include: ./unit_tests/install_quality_standards.yml
         job: install_quality_standards
 
       - name: run pytest
@@ -77,8 +77,8 @@ jobs:
           path: pytest.xml
 
       - name: run advanced unit tests (asdf) with coverage
-        if: matrix.py == '3.8'
-        include: ./run_tests.yml
+        if: matrix.py == '3.9'
+        include: ./unit_tests/run_tests.yml
         job: run_tests
 
   compat:
diff --git a/.github/workflows/install_quality_standards.yml b/.github/workflows/unit_tests/install_quality_standards.yml
similarity index 100%
rename from .github/workflows/install_quality_standards.yml
rename to .github/workflows/unit_tests/install_quality_standards.yml
diff --git a/.github/workflows/run_tests.yml b/.github/workflows/unit_tests/run_tests.yml
similarity index 100%
rename from .github/workflows/run_tests.yml
rename to .github/workflows/unit_tests/run_tests.yml

From 8d3383132a4ff01b66603afee9c21e496b2fd24f Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 14:21:37 +0200
Subject: [PATCH 13/21] just plain steps

---
 .../unit_tests/install_quality_standards.yml  | 20 ++++++------
 .github/workflows/{ => unit_tests}/pytest.yml |  0
 .../{ => unit_tests}/pytest_asdf.yml          |  0
 .github/workflows/unit_tests/run_tests.yml    | 32 +++++++++----------
 .../{ => unit_tests}/unit_test_results.yml    |  0
 5 files changed, 26 insertions(+), 26 deletions(-)
 rename .github/workflows/{ => unit_tests}/pytest.yml (100%)
 rename .github/workflows/{ => unit_tests}/pytest_asdf.yml (100%)
 rename .github/workflows/{ => unit_tests}/unit_test_results.yml (100%)

diff --git a/.github/workflows/unit_tests/install_quality_standards.yml b/.github/workflows/unit_tests/install_quality_standards.yml
index 24b82a164..85a08bffd 100644
--- a/.github/workflows/unit_tests/install_quality_standards.yml
+++ b/.github/workflows/unit_tests/install_quality_standards.yml
@@ -1,12 +1,12 @@
-name: install quality standards requisites
-jobs:
-  install_quality_standards:
-    steps:
-      - name: cookiecutter
-        run: pip install cookiecutter
+#name: install quality standards requisites
+#jobs:
+#  install_quality_standards:
+steps:
+  - name: cookiecutter
+    run: pip install cookiecutter
 
-      - name: create installable quality standard from repo
-        run: cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template
+  - name: create installable quality standard from repo
+    run: cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template
 
-      - name: install quality standard
-        run: pip install -e ./quality_standard_demo
+  - name: install quality standard
+    run: pip install -e ./quality_standard_demo
diff --git a/.github/workflows/pytest.yml b/.github/workflows/unit_tests/pytest.yml
similarity index 100%
rename from .github/workflows/pytest.yml
rename to .github/workflows/unit_tests/pytest.yml
diff --git a/.github/workflows/pytest_asdf.yml b/.github/workflows/unit_tests/pytest_asdf.yml
similarity index 100%
rename from .github/workflows/pytest_asdf.yml
rename to .github/workflows/unit_tests/pytest_asdf.yml
diff --git a/.github/workflows/unit_tests/run_tests.yml b/.github/workflows/unit_tests/run_tests.yml
index 7770a6cd5..ad4731c8b 100644
--- a/.github/workflows/unit_tests/run_tests.yml
+++ b/.github/workflows/unit_tests/run_tests.yml
@@ -1,21 +1,21 @@
-name: Run unit tests with coverage
-jobs:
-  run_tests:
-    steps:
-      - name: run pytest on notebooks (append coverage)
-        run: pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/
+#name: Run unit tests with coverage
+#jobs:
+#  run_tests:
+steps:
+  - name: run pytest on notebooks (append coverage)
+    run: pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/
 
-      - name: test with WeldxFile
-        run: pytest -n 2  --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests
+  - name: test with WeldxFile
+    run: pytest -n 2  --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests
 
-      - name: test quality standard
-        run: pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py
+  - name: test quality standard
+    run: pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py
 
-      - name: test installable quality standard from template repository
-        run: pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py
+  - name: test installable quality standard from template repository
+    run: pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py
 
-      - name: coverage xml (combination is performed by pytest-cov)
-        run: coverage xml
+  - name: coverage xml (combination is performed by pytest-cov)
+    run: coverage xml
 
-      - name: codecov.io
-        uses: codecov/codecov-action@v3.1.1
+  - name: codecov.io
+    uses: codecov/codecov-action@v3.1.1
diff --git a/.github/workflows/unit_test_results.yml b/.github/workflows/unit_tests/unit_test_results.yml
similarity index 100%
rename from .github/workflows/unit_test_results.yml
rename to .github/workflows/unit_tests/unit_test_results.yml

From 7790d8f929bc6f25d69c14a1751840edac3bfad2 Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 14:25:14 +0200
Subject: [PATCH 14/21] mhmhm

---
 .github/workflows/unit_tests/pytest.yml | 2 --
 1 file changed, 2 deletions(-)

diff --git a/.github/workflows/unit_tests/pytest.yml b/.github/workflows/unit_tests/pytest.yml
index 931f68d2e..37bb30da9 100644
--- a/.github/workflows/unit_tests/pytest.yml
+++ b/.github/workflows/unit_tests/pytest.yml
@@ -63,7 +63,6 @@ jobs:
       - name: install quality standards requisites
         if: matrix.py == '3.9'
         include: ./unit_tests/install_quality_standards.yml
-        job: install_quality_standards
 
       - name: run pytest
         run: |
@@ -79,7 +78,6 @@ jobs:
       - name: run advanced unit tests (asdf) with coverage
         if: matrix.py == '3.9'
         include: ./unit_tests/run_tests.yml
-        job: run_tests
 
   compat:
     name: pytest

From 2b36438c7a30523e43915f58ef4727e4e338fc35 Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 14:58:14 +0200
Subject: [PATCH 15/21] undo

---
 .github/workflows/{unit_tests => }/pytest.yml | 50 ++++++++++++++++---
 .../{unit_tests => }/pytest_asdf.yml          |  0
 .../{unit_tests => }/unit_test_results.yml    |  0
 .../unit_tests/install_quality_standards.yml  | 12 -----
 .github/workflows/unit_tests/run_tests.yml    | 21 --------
 5 files changed, 43 insertions(+), 40 deletions(-)
 rename .github/workflows/{unit_tests => }/pytest.yml (67%)
 rename .github/workflows/{unit_tests => }/pytest_asdf.yml (100%)
 rename .github/workflows/{unit_tests => }/unit_test_results.yml (100%)
 delete mode 100644 .github/workflows/unit_tests/install_quality_standards.yml
 delete mode 100644 .github/workflows/unit_tests/run_tests.yml

diff --git a/.github/workflows/unit_tests/pytest.yml b/.github/workflows/pytest.yml
similarity index 67%
rename from .github/workflows/unit_tests/pytest.yml
rename to .github/workflows/pytest.yml
index 37bb30da9..42f7bcddf 100644
--- a/.github/workflows/unit_tests/pytest.yml
+++ b/.github/workflows/pytest.yml
@@ -30,7 +30,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [ubuntu-latest]
-        py: ['3.9', '3.10', '3.11']
+        py: ['3.8', '3.9', '3.10', '3.11']
     steps:
       - uses: actions/checkout@v3
         with:
@@ -60,9 +60,20 @@ jobs:
       - name: activate env
         run: micromamba activate weldx
 
-      - name: install quality standards requisites
-        if: matrix.py == '3.9'
-        include: ./unit_tests/install_quality_standards.yml
+      - name: install cookiecutter
+        if: matrix.py == '3.8'
+        run: |
+          pip install cookiecutter
+
+      - name: create installable quality standard from repo
+        if: matrix.py == '3.8'
+        run: |
+          cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template
+
+      - name: install quality standard
+        if: matrix.py == '3.8'
+        run: |
+          pip install -e ./quality_standard_demo
 
       - name: run pytest
         run: |
@@ -75,9 +86,34 @@ jobs:
           name: Unit Test Results
           path: pytest.xml
 
-      - name: run advanced unit tests (asdf) with coverage
-        if: matrix.py == '3.9'
-        include: ./unit_tests/run_tests.yml
+      - name: run pytest on notebooks (append coverage)
+        if: matrix.py == '3.8'
+        run: |
+          pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/
+
+      - name: test with WeldxFile
+        if: matrix.py == '3.8'
+        run: |
+          pytest -n 2  --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests
+
+      - name: test quality standard
+        if: matrix.py == '3.8'
+        run: |
+          pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py
+
+
+      - name: test installable quality standard from template repository
+        if: matrix.py == '3.8'
+        run: |
+          pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py
+
+      - name: coverage xml (combination is performed by pytest-cov)
+        if: matrix.py == '3.8'
+        run: coverage xml
+
+      - name: codecov.io
+        if: matrix.py == '3.8'
+        uses: codecov/codecov-action@v3.1.1
 
   compat:
     name: pytest
diff --git a/.github/workflows/unit_tests/pytest_asdf.yml b/.github/workflows/pytest_asdf.yml
similarity index 100%
rename from .github/workflows/unit_tests/pytest_asdf.yml
rename to .github/workflows/pytest_asdf.yml
diff --git a/.github/workflows/unit_tests/unit_test_results.yml b/.github/workflows/unit_test_results.yml
similarity index 100%
rename from .github/workflows/unit_tests/unit_test_results.yml
rename to .github/workflows/unit_test_results.yml
diff --git a/.github/workflows/unit_tests/install_quality_standards.yml b/.github/workflows/unit_tests/install_quality_standards.yml
deleted file mode 100644
index 85a08bffd..000000000
--- a/.github/workflows/unit_tests/install_quality_standards.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-#name: install quality standards requisites
-#jobs:
-#  install_quality_standards:
-steps:
-  - name: cookiecutter
-    run: pip install cookiecutter
-
-  - name: create installable quality standard from repo
-    run: cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template
-
-  - name: install quality standard
-    run: pip install -e ./quality_standard_demo
diff --git a/.github/workflows/unit_tests/run_tests.yml b/.github/workflows/unit_tests/run_tests.yml
deleted file mode 100644
index ad4731c8b..000000000
--- a/.github/workflows/unit_tests/run_tests.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-#name: Run unit tests with coverage
-#jobs:
-#  run_tests:
-steps:
-  - name: run pytest on notebooks (append coverage)
-    run: pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/
-
-  - name: test with WeldxFile
-    run: pytest -n 2  --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests
-
-  - name: test quality standard
-    run: pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py
-
-  - name: test installable quality standard from template repository
-    run: pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py
-
-  - name: coverage xml (combination is performed by pytest-cov)
-    run: coverage xml
-
-  - name: codecov.io
-    uses: codecov/codecov-action@v3.1.1

From ad3e6823cb3d683b92fd426a489da6c73a97ba50 Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 14:59:47 +0200
Subject: [PATCH 16/21] py39

---
 .github/workflows/pytest.yml | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml
index 42f7bcddf..7dc720f53 100644
--- a/.github/workflows/pytest.yml
+++ b/.github/workflows/pytest.yml
@@ -61,17 +61,17 @@ jobs:
         run: micromamba activate weldx
 
       - name: install cookiecutter
-        if: matrix.py == '3.8'
+        if: matrix.py == '3.9'
         run: |
           pip install cookiecutter
 
       - name: create installable quality standard from repo
-        if: matrix.py == '3.8'
+        if: matrix.py == '3.9'
         run: |
           cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template
 
       - name: install quality standard
-        if: matrix.py == '3.8'
+        if: matrix.py == '3.9'
         run: |
           pip install -e ./quality_standard_demo
 
@@ -87,32 +87,32 @@ jobs:
           path: pytest.xml
 
       - name: run pytest on notebooks (append coverage)
-        if: matrix.py == '3.8'
+        if: matrix.py == '3.9'
         run: |
           pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/
 
       - name: test with WeldxFile
-        if: matrix.py == '3.8'
+        if: matrix.py == '3.9'
         run: |
           pytest -n 2  --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests
 
       - name: test quality standard
-        if: matrix.py == '3.8'
+        if: matrix.py == '3.9'
         run: |
           pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py
 
 
       - name: test installable quality standard from template repository
-        if: matrix.py == '3.8'
+        if: matrix.py == '3.9'
         run: |
           pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py
 
       - name: coverage xml (combination is performed by pytest-cov)
-        if: matrix.py == '3.8'
+        if: matrix.py == '3.9'
         run: coverage xml
 
       - name: codecov.io
-        if: matrix.py == '3.8'
+        if: matrix.py == '3.9'
         uses: codecov/codecov-action@v3.1.1
 
   compat:

From 7afbd35baaf6536227d722277949db85b88a6b51 Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 27 Mar 2023 16:30:38 +0200
Subject: [PATCH 17/21] f

---
 .github/workflows/pytest.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml
index 7dc720f53..7a0daf376 100644
--- a/.github/workflows/pytest.yml
+++ b/.github/workflows/pytest.yml
@@ -30,7 +30,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [ubuntu-latest]
-        py: ['3.8', '3.9', '3.10', '3.11']
+        py: ['3.9', '3.10', '3.11']
     steps:
       - uses: actions/checkout@v3
         with:

From 347f0e6e84a07fe8f23153b52b73c6eeb1762077 Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 3 Apr 2023 11:58:17 +0200
Subject: [PATCH 18/21] update pinning

---
 CHANGELOG.md   | 2 +-
 pyproject.toml | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9b95c4b2c..4f84e0c2e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,7 @@
 
 ### Dependencies
 
-- require XArray >= 2023.3.0, as `LocalCoordinateSystem` now handles merges correctly \[{pull}`861`\].
+- require XArray >= 2022.9.0, as `LocalCoordinateSystem` now handles merges correctly \[{pull}`861`\].
 
 ## 0.6.4 (09.02.2023)
 
diff --git a/pyproject.toml b/pyproject.toml
index 31167e39f..ca8a20b05 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -33,12 +33,12 @@ classifiers = [
 ]
 
 # Dependencies
-requires-python = ">=3.9"
+requires-python = ">=3.8"
 dependencies = [
     "numpy >=1.20",
     "asdf >=2.8.2,!=2.14.0,!=2.14.1,!=2.14.2",
     "pandas >=1.0",
-    "xarray >=2023.3.0",
+    "xarray >=2022.9.0",
     "scipy >=1.4,!=1.6.0,!=1.6.1",
     "sympy >=1.6",
     "pint >=0.18",

From ee22f6887b0fef3e31103c5db37dc1d1fbd65413 Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 3 Apr 2023 11:59:33 +0200
Subject: [PATCH 19/21] revert python 3.9 requirement for github actions

---
 .github/workflows/build_pkg.yml |  2 +-
 .github/workflows/pytest.yml    | 20 ++++++++++----------
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/.github/workflows/build_pkg.yml b/.github/workflows/build_pkg.yml
index 89ec9df9d..c344497dd 100644
--- a/.github/workflows/build_pkg.yml
+++ b/.github/workflows/build_pkg.yml
@@ -72,7 +72,7 @@ jobs:
           fetch-depth: 0 # Fetch all history for all tags and branches
       - uses: actions/setup-python@v4
         with:
-          python-version: '3.9'
+          python-version: '3.8'
 
       - name: Cache pip
         uses: actions/cache@v3
diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml
index 7a0daf376..42f7bcddf 100644
--- a/.github/workflows/pytest.yml
+++ b/.github/workflows/pytest.yml
@@ -30,7 +30,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [ubuntu-latest]
-        py: ['3.9', '3.10', '3.11']
+        py: ['3.8', '3.9', '3.10', '3.11']
     steps:
       - uses: actions/checkout@v3
         with:
@@ -61,17 +61,17 @@ jobs:
         run: micromamba activate weldx
 
       - name: install cookiecutter
-        if: matrix.py == '3.9'
+        if: matrix.py == '3.8'
         run: |
           pip install cookiecutter
 
       - name: create installable quality standard from repo
-        if: matrix.py == '3.9'
+        if: matrix.py == '3.8'
         run: |
           cookiecutter --no-input https://github.com/BAMWeldx/quality-standard-template
 
       - name: install quality standard
-        if: matrix.py == '3.9'
+        if: matrix.py == '3.8'
         run: |
           pip install -e ./quality_standard_demo
 
@@ -87,32 +87,32 @@ jobs:
           path: pytest.xml
 
       - name: run pytest on notebooks (append coverage)
-        if: matrix.py == '3.9'
+        if: matrix.py == '3.8'
         run: |
           pytest -n 2 --dist loadfile --nbval --current-env --cov-append ./doc/src/tutorials/
 
       - name: test with WeldxFile
-        if: matrix.py == '3.9'
+        if: matrix.py == '3.8'
         run: |
           pytest -n 2  --weldx-file-rw-buffer --weldx-file-rw-buffer-disp-header --cov-append ./weldx/tests/asdf_tests
 
       - name: test quality standard
-        if: matrix.py == '3.9'
+        if: matrix.py == '3.8'
         run: |
           pytest --cov-append ./weldx/tests/asdf_tests/quality_standards_check.py
 
 
       - name: test installable quality standard from template repository
-        if: matrix.py == '3.9'
+        if: matrix.py == '3.8'
         run: |
           pytest --cov-append ./weldx/tests/asdf_tests/installable_quality_standard_check.py
 
       - name: coverage xml (combination is performed by pytest-cov)
-        if: matrix.py == '3.9'
+        if: matrix.py == '3.8'
         run: coverage xml
 
       - name: codecov.io
-        if: matrix.py == '3.9'
+        if: matrix.py == '3.8'
         uses: codecov/codecov-action@v3.1.1
 
   compat:

From bf24a1ad5392135fa2edf40ecc8f093b02d328ad Mon Sep 17 00:00:00 2001
From: "Martin K. Scherer" <m.scherer@fu-berlin.de>
Date: Mon, 3 Apr 2023 18:17:06 +0200
Subject: [PATCH 20/21] revert py39

---
 devtools/conda.recipe/build_env.yml | 2 +-
 devtools/environment.yml            | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/devtools/conda.recipe/build_env.yml b/devtools/conda.recipe/build_env.yml
index a0cb69761..bb9511c5e 100644
--- a/devtools/conda.recipe/build_env.yml
+++ b/devtools/conda.recipe/build_env.yml
@@ -3,7 +3,7 @@ channels:
   - conda-forge
   - defaults
 dependencies:
-  - python=3.9
+  - python=3.8
   - setuptools
   - setuptools_scm
   - conda-verify
diff --git a/devtools/environment.yml b/devtools/environment.yml
index 3e787a7c5..2bfa12966 100644
--- a/devtools/environment.yml
+++ b/devtools/environment.yml
@@ -3,7 +3,7 @@ channels:
   - defaults
   - conda-forge
 dependencies:
-  - python=3.9
+  - python=3.8
   - setuptools_scm
   - numpy>=1.18
   - pandas>=1.0

From 510f9df164e6aa3cf0ccea04af7236a56d52762b Mon Sep 17 00:00:00 2001
From: Cagtay Fabry <43667554+CagtayFabry@users.noreply.github.com>
Date: Mon, 3 Apr 2023 19:23:31 +0200
Subject: [PATCH 21/21] adjust reference time handling in
 xr_interp_coordinates_in_time

---
 weldx/transformations/local_cs.py | 2 +-
 weldx/util/xarray.py              | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/weldx/transformations/local_cs.py b/weldx/transformations/local_cs.py
index 4ac9df60e..530364ac5 100644
--- a/weldx/transformations/local_cs.py
+++ b/weldx/transformations/local_cs.py
@@ -105,7 +105,7 @@ def __init__(
             coordinates.name = "coordinates"
             dataset_items.append(coordinates)
 
-        self._dataset = xr.merge(dataset_items, join="override")
+        self._dataset = xr.merge(dataset_items, join="exact")
 
         self._time_ref = time_cls.reference_time if isinstance(time_cls, Time) else None
         if "time" in self._dataset and self._time_ref is not None:
diff --git a/weldx/util/xarray.py b/weldx/util/xarray.py
index c883217de..4cbf8d84c 100644
--- a/weldx/util/xarray.py
+++ b/weldx/util/xarray.py
@@ -737,10 +737,14 @@ def xr_interp_coordinates_in_time(
         return da
 
     times = Time(times).as_pandas_index()
+    time_ref = da.weldx.time_ref
     da = da.weldx.time_ref_unset()
     da = xr_interp_like(
         da, {"time": times}, assume_sorted=True, broadcast_missing=False, fillna=True
     )
+    # resync and reset to correct format
+    if time_ref:
+        da.weldx.time_ref = time_ref
     da = da.weldx.time_ref_restore()
 
     if len(da.time) == 1:  # remove "time dimension" for static cases