Source code for albums.saveload


import numpy as np
import h5py as hp

# %% Utility Functions
[docs] def save_hdf5(filename, data_dict): """Saves data dictionary to an HDF5 file.""" with hp.File(filename, "a") as f: for key, value in data_dict.items(): f[key] = value
[docs] def load_hdf5(filename, keys): """Loads data from an HDF5 file given a list of keys.""" with hp.File(filename, "r") as f: return {key: np.array(f[key]) for key in keys}
# %% Save/Load Functions
[docs] def save_out(name, out): """Save output data to an HDF5 file.""" keys = [ "zero_freq_coup", "robinson_coup", "modes_coup", "HOM_coup", "converged_coup", "PTBL_coup", "bl", "xi", "R" ] save_hdf5(f"{name}.hdf5", dict(zip(keys, out)))
[docs] def load_out(file): """Load output data from an HDF5 file.""" keys = [ "zero_freq_coup", "robinson_coup", "modes_coup", "HOM_coup", "converged_coup", "PTBL_coup", "bl", "xi", "R" ] data = load_hdf5(file, keys) return tuple(data[key] for key in keys)
[docs] def save_out_opti(name, out): """Save optimization results to an HDF5 file.""" keys = ["psi_result", "bl_result", "xi_result", "R_result"] save_hdf5(f"{name}.hdf5", dict(zip(keys, out)))
[docs] def load_out_opti(file): """Load optimization results from an HDF5 file.""" keys = ["psi_result", "bl_result", "xi_result", "R_result"] data = load_hdf5(file, keys) return tuple(data[key] for key in keys)