diff --git a/nomad/app/v1/routers/systems.py b/nomad/app/v1/routers/systems.py
index 393a5bccb70c9a864d733105c93663e28739f43f..ce0cf3957eba6a443848f9830ff4158b2f6b00db 100644
--- a/nomad/app/v1/routers/systems.py
+++ b/nomad/app/v1/routers/systems.py
@@ -123,7 +123,7 @@ def write_xyz(atoms: NOMADAtoms, entry_id: str, formula: str = None) -> str:
     """For writing an XYZ file."""
     stream = StringIO()
     atoms = ase_atoms_from_nomad_atoms(atoms)
-    ase.io.write(stream, atoms, format='xyz')
+    ase.io.write(stream, atoms, format='extxyz')
     stream.seek(0)
     content = stream.read()
     if entry_id is not None:
diff --git a/nomad/metainfo/metainfo.py b/nomad/metainfo/metainfo.py
index 99b5263a09a9a09089a13c239d65f202b98e2b42..59e554b9a31e582c3d1dd908e7588032f10f45b3 100644
--- a/nomad/metainfo/metainfo.py
+++ b/nomad/metainfo/metainfo.py
@@ -1613,7 +1613,11 @@ class MSection(
                 dimensions = len(quantity_def.shape)
                 if dimensions == 0:
                     value = self.__set_normalize(quantity_def, value)
-                    if value == _unset_value:
+                    value_unset = value == _unset_value
+                    if isinstance(value_unset, np.ndarray):
+                        if value_unset.any():
+                            return
+                    elif value_unset:
                         return
 
                 elif dimensions == 1:
@@ -1714,7 +1718,11 @@ class MSection(
                     m_quantity.value = self.__set_normalize(
                         quantity_def, m_quantity.value
                     )
-                    if m_quantity.value == _unset_value:
+                    value_unset = value == _unset_value
+                    if isinstance(value_unset, np.ndarray):
+                        if value_unset.any():
+                            return
+                    elif value_unset:
                         return
 
                 elif dimensions == 1:
diff --git a/pyproject.toml b/pyproject.toml
index 21539d6332060006b9f30e22ac8305b292ea269e..77d06b01b299e2d3641743b8f6e26e5939b68613 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -15,7 +15,7 @@ requires-python = ">=3.9"
 
 dependencies = [
     'aniso8601>=7.0.0',
-    'ase~=3.19.0',
+    'ase~=3.22.0',
     'bitarray>=2.3.5',
     'cachetools>=4.2.4',
     'click>=7.1.2',
@@ -32,7 +32,7 @@ dependencies = [
     'mdanalysis==2.5.0',
     'networkx==2.6.3',
     'nptyping~=1.4.4',
-    'numpy~=1.22.4',
+    'numpy>=1.22.4,<2.0.0',
     'openpyxl>=3.0.0',
     'orjson',
     'pandas>=1.3.5,<2.0.0',
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 0adf9d9b242e192d3fc038610a4b1c3ac50405f1..58be104eabc724c1c1a00f467835b6238591f3de 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -11,7 +11,7 @@ argon2-cffi==23.1.0       # via jupyter-server, -r requirements.txt
 argon2-cffi-bindings==21.2.0  # via argon2-cffi, -r requirements.txt
 arrow==1.3.0              # via isoduration, -r requirements.txt
 asciitree==0.3.3          # via zarr, -r requirements.txt
-ase==3.19.3               # via asr, ifes-apt-tc-data-modeling, matid, pynxtools, quippy-ase, -r requirements.txt, nomad-lab (pyproject.toml)
+ase==3.22.1               # via asr, ifes-apt-tc-data-modeling, matid, pynxtools, quippy-ase, -r requirements.txt, nomad-lab (pyproject.toml)
 asgiref==3.8.1            # via -r requirements.txt, nomad-lab (pyproject.toml)
 asr==0.4.1                # via -r requirements.txt, nomad-lab (pyproject.toml)
 asteval==0.9.33           # via lmfit, -r requirements.txt
@@ -51,7 +51,7 @@ comm==0.2.2               # via ipykernel, ipywidgets, -r requirements.txt
 commonmark==0.9.1         # via recommonmark, -r requirements.txt
 contourpy==1.2.1          # via matplotlib, -r requirements.txt
 coverage==7.5.3           # via pytest-cov
-cryptography==42.0.7      # via jwcrypto, pyjwt, pyopenssl, rfc3161ng, secretstorage, -r requirements.txt
+cryptography==42.0.8      # via jwcrypto, pyjwt, pyopenssl, rfc3161ng, secretstorage, -r requirements.txt
 cycler==0.12.1            # via matplotlib, -r requirements.txt
 dask==2024.5.2            # via hyperspy, kikuchipy, orix, pyxem, rosettasciio, -r requirements.txt
 debugpy==1.8.1            # via ipykernel, -r requirements.txt
@@ -108,7 +108,7 @@ httpx==0.27.0             # via jupyterlab, -r requirements.txt, nomad-lab (pypr
 hyperspy==1.7.5           # via kikuchipy, pyxem, -r requirements.txt
 idna==3.7                 # via anyio, email-validator, httpx, jsonschema, requests, -r requirements.txt
 ifes-apt-tc-data-modeling==0.2.2  # via pynxtools-apm, -r requirements.txt
-igor2==0.5.2              # via pynxtools-xps, -r requirements.txt
+igor2==0.5.6              # via pynxtools-xps, -r requirements.txt
 imageio==2.27.0           # via hyperspy, kikuchipy, nionswift, nionswift-io, nionui, scikit-image, -r requirements.txt
 imagesize==1.4.1          # via sphinx, -r requirements.txt
 importlib-metadata==7.1.0  # via build, dask, flask, hyperspy, jupyter-client, jupyter-lsp, jupyterhub, jupyterlab, jupyterlab-server, keyring, markdown, mkdocs, mkdocs-get-deps, nbconvert, pynxtools, sphinx, twine, -r requirements.txt, nomad-lab (pyproject.toml)
@@ -165,7 +165,7 @@ mako==1.3.5               # via alembic, -r requirements.txt
 markdown==3.6             # via mkdocs, mkdocs-click, mkdocs-material, pymdown-extensions
 markupsafe==2.1.5         # via jinja2, mako, mkdocs, nbconvert, werkzeug, -r requirements.txt, nomad-lab (pyproject.toml)
 matid==2.0.1              # via -r requirements.txt, nomad-lab (pyproject.toml)
-matplotlib==3.8.4         # via ase, asr, diffsims, hyperspy, kikuchipy, matplotlib-scalebar, mdanalysis, orix, phonopy, pyfai, pymatgen, pyxem, radioactivedecay, -r requirements.txt
+matplotlib==3.9.0         # via ase, asr, diffsims, hyperspy, kikuchipy, matplotlib-scalebar, mdanalysis, orix, phonopy, pyfai, pymatgen, pyxem, radioactivedecay, -r requirements.txt
 matplotlib-inline==0.1.7  # via ipykernel, ipython, -r requirements.txt
 matplotlib-scalebar==0.8.1  # via orix, -r requirements.txt
 mda-xdrlib==0.2.0         # via pyedr, -r requirements.txt
@@ -201,10 +201,10 @@ nest-asyncio==1.6.0       # via ipykernel, -r requirements.txt
 netcdf4==1.6.5            # via -r requirements.txt, nomad-lab (pyproject.toml)
 networkx==2.6.3           # via matid, mdanalysis, pymatgen, radioactivedecay, scikit-image, -r requirements.txt, nomad-lab (pyproject.toml)
 nh3==0.2.17               # via readme-renderer
-niondata==0.15.5          # via nionswift, nionswift-io, -r requirements.txt
-nionswift==0.16.8         # via pynxtools-em, -r requirements.txt
-nionswift-io==0.15.1      # via nionswift, -r requirements.txt
-nionui==0.6.11            # via nionswift, -r requirements.txt
+niondata==15.6.2          # via nionswift, nionswift-io, -r requirements.txt
+nionswift==16.10.0        # via pynxtools-em, -r requirements.txt
+nionswift-io==15.2.1      # via nionswift, -r requirements.txt
+nionui==7.0.3             # via nionswift, -r requirements.txt
 nionutils==0.4.10         # via niondata, nionswift, nionswift-io, nionui, -r requirements.txt
 notebook==7.1.3           # via jupyter, -r requirements.txt
 notebook-shim==0.2.4      # via jupyterlab, notebook, -r requirements.txt
@@ -212,7 +212,7 @@ nptyping==1.4.4           # via -r requirements.txt, nomad-lab (pyproject.toml)
 numba==0.59.1             # via diffsims, hyperspy, kikuchipy, orix, pyxem, sparse, -r requirements.txt
 numcodecs==0.12.1         # via zarr, -r requirements.txt
 numexpr==2.10.0           # via hyperspy, pyfai, pyxem, tables, -r requirements.txt
-numpy==1.22.4             # via ase, biopython, blosc2, cftime, contourpy, dask, diffsims, f90wrap, fabio, findiff, griddataformats, gsd, h5grove, h5py, hyperspy, ifes-apt-tc-data-modeling, igor2, imageio, kikuchipy, lmfit, matid, matplotlib, mdanalysis, mrcfile, netcdf4, niondata, nionswift, nionswift-io, nionui, nptyping, numba, numcodecs, numexpr, numpy-quaternion, orix, pandas, phonopy, pycifrw, pyedr, pyfai, pymatgen, pynxtools, pywavelets, pyxem, quippy-ase, radioactivedecay, rdkit, rosettasciio, scikit-image, scikit-learn, scipy, silx, sparse, spglib, tables, tifffile, xarray, xraydb, zarr, -r requirements.txt, nomad-lab (pyproject.toml)
+numpy==1.26.4             # via ase, biopython, blosc2, cftime, contourpy, dask, diffsims, f90wrap, fabio, findiff, griddataformats, gsd, h5grove, h5py, hyperspy, ifes-apt-tc-data-modeling, igor2, imageio, kikuchipy, lmfit, matid, matplotlib, mdanalysis, mrcfile, netcdf4, niondata, nionswift, nionswift-io, nionui, nptyping, numba, numcodecs, numexpr, numpy-quaternion, orix, pandas, phonopy, pycifrw, pyedr, pyfai, pymatgen, pynxtools, pywavelets, pyxem, quippy-ase, radioactivedecay, rdkit, rosettasciio, scikit-image, scikit-learn, scipy, silx, sparse, spglib, tables, tifffile, xarray, xraydb, zarr, -r requirements.txt, nomad-lab (pyproject.toml)
 numpy-quaternion==2023.0.3  # via orix, -r requirements.txt
 oauthenticator==15.1.0    # via -r requirements.txt, nomad-lab (pyproject.toml)
 oauthlib==3.2.2           # via jupyterhub, -r requirements.txt
@@ -260,7 +260,7 @@ pyedr==0.8.0              # via panedr, -r requirements.txt
 pyfai==2024.5.0           # via pyxem, -r requirements.txt
 pygments==2.18.0          # via devtools, ipython, jupyter-console, mkdocs-material, nbconvert, qtconsole, readme-renderer, sphinx, -r requirements.txt
 pyjwt==2.6.0              # via -r requirements.txt, nomad-lab (pyproject.toml)
-pymatgen==2023.9.25       # via asr, -r requirements.txt, nomad-lab (pyproject.toml)
+pymatgen==2024.5.31       # via asr, -r requirements.txt, nomad-lab (pyproject.toml)
 pymdown-extensions==10.8.1  # via mkdocs-material
 pymongo==4.6.3            # via mongoengine, optimade, -r requirements.txt, nomad-lab (pyproject.toml)
 pynxtools==0.3.1          # via pynxtools-apm, pynxtools-ellips, pynxtools-em, pynxtools-mpes, pynxtools-stm, pynxtools-xps, pynxtools-xrd, -r requirements.txt, nomad-lab (pyproject.toml)
@@ -285,7 +285,7 @@ python-dateutil==2.9.0.post0  # via arrow, celery, elasticsearch-dsl, ghp-import
 python-dotenv==1.0.1      # via uvicorn, -r requirements.txt
 python-gitlab==2.10.1     # via nomad-lab (pyproject.toml)
 python-json-logger==2.0.2  # via jupyter-events, jupyter-telemetry, -r requirements.txt, nomad-lab (pyproject.toml)
-python-keycloak==4.0.0    # via -r requirements.txt, nomad-lab (pyproject.toml)
+python-keycloak==4.0.1    # via -r requirements.txt, nomad-lab (pyproject.toml)
 python-logstash==0.4.6    # via -r requirements.txt, nomad-lab (pyproject.toml)
 python-magic==0.4.24      # via -r requirements.txt, nomad-lab (pyproject.toml)
 python-multipart==0.0.9   # via -r requirements.txt, nomad-lab (pyproject.toml)
@@ -388,9 +388,9 @@ websockets==12.0          # via uvicorn, -r requirements.txt
 werkzeug==3.0.3           # via flask, -r requirements.txt
 widgetsnbextension==4.0.11  # via ipywidgets, -r requirements.txt
 wrapt==1.16.0             # via -r requirements.txt, nomad-lab (pyproject.toml)
-xarray==2023.12.0         # via pynxtools, pynxtools-mpes, pynxtools-xps, -r requirements.txt, nomad-lab (pyproject.toml)
+xarray==2024.3.0          # via pynxtools, pynxtools-mpes, pynxtools-xps, -r requirements.txt, nomad-lab (pyproject.toml)
 xmltodict==0.13.0         # via ifes-apt-tc-data-modeling, pynxtools-em, -r requirements.txt
 xraydb==4.5.4             # via pynxtools-em, -r requirements.txt
-zarr==2.17.1              # via hyperspy, -r requirements.txt
+zarr==2.18.2              # via hyperspy, -r requirements.txt
 zipp==3.19.2              # via importlib-metadata, importlib-resources, -r requirements.txt
 zipstream-new==1.1.5      # via -r requirements.txt, nomad-lab (pyproject.toml)
diff --git a/requirements.txt b/requirements.txt
index 8cae6447c15c40ad380f3169cd9bc0c29989c296..e051c2ab63732f755811e2edd362757e8610a5f2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10,7 +10,7 @@ argon2-cffi==23.1.0       # via jupyter-server
 argon2-cffi-bindings==21.2.0  # via argon2-cffi
 arrow==1.3.0              # via isoduration
 asciitree==0.3.3          # via zarr
-ase==3.19.3               # via asr, ifes-apt-tc-data-modeling, matid, pynxtools, quippy-ase, nomad-lab (pyproject.toml)
+ase==3.22.1               # via asr, ifes-apt-tc-data-modeling, matid, pynxtools, quippy-ase, nomad-lab (pyproject.toml)
 asgiref==3.8.1            # via nomad-lab (pyproject.toml)
 asr==0.4.1                # via nomad-lab (pyproject.toml)
 asteval==0.9.33           # via lmfit
@@ -44,7 +44,7 @@ cloudpickle==3.0.0        # via dask
 comm==0.2.2               # via ipykernel, ipywidgets
 commonmark==0.9.1         # via recommonmark
 contourpy==1.2.1          # via matplotlib
-cryptography==42.0.7      # via jwcrypto, pyjwt, pyopenssl, rfc3161ng
+cryptography==42.0.8      # via jwcrypto, pyjwt, pyopenssl, rfc3161ng
 cycler==0.12.1            # via matplotlib
 dask==2024.5.2            # via hyperspy, kikuchipy, orix, pyxem, rosettasciio
 debugpy==1.8.1            # via ipykernel
@@ -97,7 +97,7 @@ httpx==0.27.0             # via jupyterlab, nomad-lab (pyproject.toml)
 hyperspy==1.7.5           # via kikuchipy, pyxem
 idna==3.7                 # via anyio, email-validator, httpx, jsonschema, requests
 ifes-apt-tc-data-modeling==0.2.2  # via pynxtools-apm
-igor2==0.5.2              # via pynxtools-xps
+igor2==0.5.6              # via pynxtools-xps
 imageio==2.27.0           # via hyperspy, kikuchipy, nionswift, nionswift-io, nionui, scikit-image
 imagesize==1.4.1          # via sphinx
 importlib-metadata==7.1.0  # via dask, flask, hyperspy, jupyter-client, jupyter-lsp, jupyterhub, jupyterlab, jupyterlab-server, nbconvert, pynxtools, sphinx, nomad-lab (pyproject.toml)
@@ -147,7 +147,7 @@ m2r==0.2.1                # via nomad-lab (pyproject.toml)
 mako==1.3.5               # via alembic
 markupsafe==2.1.5         # via jinja2, mako, nbconvert, werkzeug
 matid==2.0.1              # via nomad-lab (pyproject.toml)
-matplotlib==3.8.4         # via ase, asr, diffsims, hyperspy, kikuchipy, matplotlib-scalebar, mdanalysis, orix, phonopy, pyfai, pymatgen, pyxem, radioactivedecay
+matplotlib==3.9.0         # via ase, asr, diffsims, hyperspy, kikuchipy, matplotlib-scalebar, mdanalysis, orix, phonopy, pyfai, pymatgen, pyxem, radioactivedecay
 matplotlib-inline==0.1.7  # via ipykernel, ipython
 matplotlib-scalebar==0.8.1  # via orix
 mda-xdrlib==0.2.0         # via pyedr
@@ -169,10 +169,10 @@ ndindex==1.8              # via blosc2
 nest-asyncio==1.6.0       # via ipykernel
 netcdf4==1.6.5            # via nomad-lab (pyproject.toml)
 networkx==2.6.3           # via matid, mdanalysis, pymatgen, radioactivedecay, scikit-image, nomad-lab (pyproject.toml)
-niondata==0.15.5          # via nionswift, nionswift-io
-nionswift==0.16.8         # via pynxtools-em
-nionswift-io==0.15.1      # via nionswift
-nionui==0.6.11            # via nionswift
+niondata==15.6.2          # via nionswift, nionswift-io
+nionswift==16.10.0        # via pynxtools-em
+nionswift-io==15.2.1      # via nionswift
+nionui==7.0.3             # via nionswift
 nionutils==0.4.10         # via niondata, nionswift, nionswift-io, nionui
 notebook==7.1.3           # via jupyter
 notebook-shim==0.2.4      # via jupyterlab, notebook
@@ -180,7 +180,7 @@ nptyping==1.4.4           # via nomad-lab (pyproject.toml)
 numba==0.59.1             # via diffsims, hyperspy, kikuchipy, orix, pyxem, sparse
 numcodecs==0.12.1         # via zarr
 numexpr==2.10.0           # via hyperspy, pyfai, pyxem, tables
-numpy==1.22.4             # via ase, biopython, blosc2, cftime, contourpy, dask, diffsims, f90wrap, fabio, findiff, griddataformats, gsd, h5grove, h5py, hyperspy, ifes-apt-tc-data-modeling, igor2, imageio, kikuchipy, lmfit, matid, matplotlib, mdanalysis, mrcfile, netcdf4, niondata, nionswift, nionswift-io, nionui, nptyping, numba, numcodecs, numexpr, numpy-quaternion, orix, pandas, phonopy, pycifrw, pyedr, pyfai, pymatgen, pynxtools, pywavelets, pyxem, quippy-ase, radioactivedecay, rdkit, rosettasciio, scikit-image, scikit-learn, scipy, silx, sparse, spglib, tables, tifffile, xarray, xraydb, zarr, nomad-dos-fingerprints (dependencies/nomad-dos-fingerprints/pyproject.toml), nomad-lab (pyproject.toml)
+numpy==1.26.4             # via ase, biopython, blosc2, cftime, contourpy, dask, diffsims, f90wrap, fabio, findiff, griddataformats, gsd, h5grove, h5py, hyperspy, ifes-apt-tc-data-modeling, igor2, imageio, kikuchipy, lmfit, matid, matplotlib, mdanalysis, mrcfile, netcdf4, niondata, nionswift, nionswift-io, nionui, nptyping, numba, numcodecs, numexpr, numpy-quaternion, orix, pandas, phonopy, pycifrw, pyedr, pyfai, pymatgen, pynxtools, pywavelets, pyxem, quippy-ase, radioactivedecay, rdkit, rosettasciio, scikit-image, scikit-learn, scipy, silx, sparse, spglib, tables, tifffile, xarray, xraydb, zarr, nomad-dos-fingerprints (dependencies/nomad-dos-fingerprints/pyproject.toml), nomad-lab (pyproject.toml)
 numpy-quaternion==2023.0.3  # via orix
 oauthenticator==15.1.0    # via nomad-lab (pyproject.toml)
 oauthlib==3.2.2           # via jupyterhub
@@ -223,7 +223,7 @@ pyedr==0.8.0              # via panedr
 pyfai==2024.5.0           # via pyxem
 pygments==2.18.0          # via ipython, jupyter-console, nbconvert, qtconsole, sphinx
 pyjwt==2.6.0              # via nomad-lab (pyproject.toml)
-pymatgen==2023.9.25       # via asr, nomad-lab (pyproject.toml)
+pymatgen==2024.5.31       # via asr, nomad-lab (pyproject.toml)
 pymongo==4.6.3            # via mongoengine, optimade, nomad-lab (pyproject.toml)
 pynxtools==0.3.1          # via pynxtools-apm, pynxtools-ellips, pynxtools-em, pynxtools-mpes, pynxtools-stm, pynxtools-xps, pynxtools-xrd, nomad-lab (pyproject.toml)
 pynxtools-apm==0.2        # via pynxtools
@@ -240,7 +240,7 @@ python-box==6.1.0         # via rosettasciio
 python-dateutil==2.9.0.post0  # via arrow, celery, elasticsearch-dsl, hyperspy, ipyparallel, jupyter-client, jupyterhub, matplotlib, pandas, pybis, rfc3161ng, rosettasciio
 python-dotenv==1.0.1      # via uvicorn
 python-json-logger==2.0.2  # via jupyter-events, jupyter-telemetry, nomad-lab (pyproject.toml)
-python-keycloak==4.0.0    # via nomad-lab (pyproject.toml)
+python-keycloak==4.0.1    # via nomad-lab (pyproject.toml)
 python-logstash==0.4.6    # via nomad-lab (pyproject.toml)
 python-magic==0.4.24      # via nomad-lab (pyproject.toml)
 python-multipart==0.0.9   # via nomad-lab (pyproject.toml)
@@ -331,9 +331,9 @@ websockets==12.0          # via uvicorn
 werkzeug==3.0.3           # via flask
 widgetsnbextension==4.0.11  # via ipywidgets
 wrapt==1.16.0             # via nomad-lab (pyproject.toml)
-xarray==2023.12.0         # via pynxtools, pynxtools-mpes, pynxtools-xps, nomad-lab (pyproject.toml)
+xarray==2024.3.0          # via pynxtools, pynxtools-mpes, pynxtools-xps, nomad-lab (pyproject.toml)
 xmltodict==0.13.0         # via ifes-apt-tc-data-modeling, pynxtools-em
 xraydb==4.5.4             # via pynxtools-em
-zarr==2.17.1              # via hyperspy
+zarr==2.18.2              # via hyperspy
 zipp==3.19.2              # via importlib-metadata, importlib-resources
 zipstream-new==1.1.5      # via nomad-lab (pyproject.toml)
diff --git a/tests/app/v1/routers/test_systems.py b/tests/app/v1/routers/test_systems.py
index baaec11448deefef698e21703093714b58053c31..40beb917bac514fb283090be6d0ce436ac9e7118 100644
--- a/tests/app/v1/routers/test_systems.py
+++ b/tests/app/v1/routers/test_systems.py
@@ -38,7 +38,7 @@ from .common import assert_response, assert_browser_download_headers
 
 def ase_atoms(content, format):
     """Creates an ase.Atoms object given given file contents and format."""
-    format = {'pdb': 'proteindatabank'}.get(format, format)
+    format = {'pdb': 'proteindatabank', 'xyz': 'extxyz'}.get(format, format)
     atoms = ase.io.read(StringIO(content), format=format)
     return atoms
 
@@ -237,6 +237,8 @@ END
             'cif',
             """# NOMAD ENTRY ID: systems_entry_1
 data_CH
+_chemical_formula_structural       CH
+_chemical_formula_sum              "C1 H1"
 _cell_length_a       5
 _cell_length_b       5
 _cell_length_c       5
@@ -244,24 +246,23 @@ _cell_angle_alpha    90
 _cell_angle_beta     90
 _cell_angle_gamma    90
 
-_symmetry_space_group_name_H-M    "P 1"
-_symmetry_int_tables_number       1
+_space_group_name_H-M_alt    "P 1"
+_space_group_IT_number       1
 
 loop_
-  _symmetry_equiv_pos_as_xyz
+  _space_group_symop_operation_xyz
   'x, y, z'
 
 loop_
+  _atom_site_type_symbol
   _atom_site_label
-  _atom_site_occupancy
+  _atom_site_symmetry_multiplicity
   _atom_site_fract_x
   _atom_site_fract_y
   _atom_site_fract_z
-  _atom_site_thermal_displace_type
-  _atom_site_B_iso_or_equiv
-  _atom_site_type_symbol
-  C1       1.0000 0.00000  0.00000  0.00000  Biso   1.000  C
-  H1       1.0000 0.20000  0.20000  0.20000  Biso   1.000  H
+  _atom_site_occupancy
+  C   C1        1.0  0.00000  0.00000  0.00000  1.0000
+  H   H1        1.0  0.20000  0.20000  0.20000  1.0000
 """,
             'CH.cif',
             id='cif',
@@ -322,17 +323,18 @@ END
             'cif',
             """# NOMAD ENTRY ID: systems_entry_1
 data_NO
+_chemical_formula_structural       NO
+_chemical_formula_sum              "N1 O1"
 loop_
+  _atom_site_type_symbol
   _atom_site_label
-  _atom_site_occupancy
+  _atom_site_symmetry_multiplicity
   _atom_site_Cartn_x
   _atom_site_Cartn_y
   _atom_site_Cartn_z
-  _atom_site_thermal_displace_type
-  _atom_site_B_iso_or_equiv
-  _atom_site_type_symbol
-  N1       1.0000 0.00000  0.00000  0.00000  Biso   1.000  N
-  O1       1.0000 1.00000  1.00000  1.00000  Biso   1.000  O
+  _atom_site_occupancy
+  N   N1        1.0  0.00000  0.00000  0.00000  1.0000
+  O   O1        1.0  1.00000  1.00000  1.00000  1.0000
 """,
             'NO.cif',
             id='cif',