Source code for pyxfem.postpro.saveloaddata

import numpy as np
import h5py

[docs] def save_timestep_data(filepath, time_step_name, data_dict): """ Sauvegarde un dictionnaire de tableaux NumPy dans un groupe HDF5 correspondant au pas de temps. """ # Ouvre le fichier en mode 'a' (append/ajout) with h5py.File(filepath, 'a') as f: # Crée un groupe pour ce pas de temps (ex: /t_001, /t_002, ...) # Si le groupe existe déjà, on le récupère if time_step_name in f: del f[time_step_name] # Supprime l'ancien s'il faut écraser group = f.create_group(time_step_name) # Sauvegarde chaque tableau comme un "dataset" dans ce groupe for name, data in data_dict.items(): group.create_dataset(name, data=data) print(f"Données sauvegardées pour : {time_step_name}")
[docs] def load_timestep_data(filepath, time_step_name): """ Charge les tableaux NumPy d'un pas de temps spécifique depuis le fichier HDF5. """ data = {} try: # Ouvre le fichier en mode 'r' (read-only/lecture seule) with h5py.File(filepath, 'r') as f: # Vérifie si le groupe existe if time_step_name not in f: print(f"Erreur: Le pas de temps '{time_step_name}' n'existe pas.") return None # Accède au groupe group = f[time_step_name] # Charge chaque dataset de ce groupe en mémoire for name in group.keys(): # L'astuce [()] charge les données du dataset dans un array NumPy data[name] = group[name][()] return data except IOError: print(f"Erreur: Impossible d'ouvrir le fichier {filepath}") return None