From a842c2e3abc9c0643fe518d6b8ba5e8d91987e13 Mon Sep 17 00:00:00 2001 From: Jinzhe Zeng Date: Fri, 12 May 2023 02:21:02 -0400 Subject: [PATCH] deepmd/hdf5: handle empty systems and files --- dpdata/deepmd/hdf5.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dpdata/deepmd/hdf5.py b/dpdata/deepmd/hdf5.py index e7e1abe6a..1afb64894 100644 --- a/dpdata/deepmd/hdf5.py +++ b/dpdata/deepmd/hdf5.py @@ -30,6 +30,9 @@ def to_system_data( g = f[folder] if folder else f data = {} + # ignore empty files or groups + if "type.raw" not in g.keys(): + return data data["atom_types"] = g["type.raw"][:] ntypes = np.max(data["atom_types"]) + 1 natoms = data["atom_types"].size @@ -140,6 +143,9 @@ def dump( g = f.create_group(folder) else: g = f + # ignore empty systems + if not len(data["coords"]): + return # dump raw (array in fact) g.create_dataset("type.raw", data=data["atom_types"]) g.create_dataset("type_map.raw", data=np.array(data["atom_names"], dtype="S"))