# README - Données ADVP / ADVP Data ## FRANÇAIS ### Description Ce dossier contient les fichiers de données issues de mesures par profileur de vitesse acoustique (ADVP). Les fichiers sont au format binaire compressé NumPy (`.npz`) et contiennent les vitesses tridimensionnelles de l'écoulement, la distance par rapport à l'émetteur, ainsi que l'intensité de l'écho acoustique. ### Paramètres d'Acquisition Les données ont été acquises avec les paramètres de configuration suivants : * **Durée d'acquisition :** 10 minutes pour les essais en eau claire (CW) / 4 minutes pour les essais avec sédiments (SED) * **PRF (Pulse Repetition Frequency) :** 1600 Hz * **NPP (Number of Pings per Profile) :** 32 * **Nombre de portes (cellules de mesure) :** 144 ### Structure des Fichiers `.npz` En chargeant un fichier via `numpy.load()`, les variables suivantes sont accessibles via leurs clés par défaut : * `arr_0` : Vitesse longitudinale $U$ (m/s) * `arr_1` : Vitesse transversale $V$ (m/s) * `arr_2` : Vitesse verticale 1 $W_1$ (m/s) * `arr_3` : Vitesse verticale 2 $W_2$ (m/s) * `arr_4` : Distance $d_j$ entre l'émetteur et le volume de mesure (m) * `arr_5` : Intensité de l'écho acoustique (Amplitude) ### Chargement et Traitement de Base (Python) Le script ci-dessous illustre comment charger les données, affilier les variables correspondantes et déterminer automatiquement la position du fond (le lit) en cherchant le pic maximum de l'intensité du signal acoustique. ```python import numpy as np # 1. Chargement des données chemin_fichier = r"C:\Users\yoncampa4o\Desktop\Saved\TP_TMA\CodeTPCoucheLimite\DATA\DEMO\processed_20261007_CW_ADVP.npz" data = np.load(chemin_fichier) # 2. Affiliation des variables u = data['arr_0'] # Vitesse longitudinale (m/s) v = data['arr_1'] # Vitesse transversale (m/s) w1 = data['arr_2'] # Vitesse verticale 1 (m/s) w2 = data['arr_3'] # Vitesse verticale 2 (m/s) dj = data['arr_4'] # Distance depuis l'émetteur (m) echo = data['arr_5'] # Intensité du signal # 3. Calcul des moyennes temporelles mean_u = np.nanmean(u, axis=0) mean_v = np.nanmean(v, axis=0) mean_w1 = np.nanmean(w1, axis=0) mean_w2 = np.nanmean(w2, axis=0) mean_echo = np.nanmean(echo, axis=0) # 4. Détection du fond et normalisation # Le lit physique correspond au maximum d'intensité du signal renvoyé idx_lit = np.argmax(mean_echo) dj_lit = dj[idx_lit] # Création d'un nouvel axe Z (z = 0 au niveau du lit, z > 0 vers la surface) z = dj_lit - dj ``` --- ## ENGLISH ### Description This directory contains data files generated from Acoustic Doppler Velocity Profiler (ADVP) measurements. The files are saved in NumPy compressed binary format (`.npz`) and contain three-dimensional flow velocities, distance from the emitter, and acoustic echo intensity. ### Acquisition Parameters The data was acquired using the following configuration parameters: * **Acquisition Duration:** 10 minutes for Clear Water (CW) runs / 4 minutes for Sediment (SED) runs * **PRF (Pulse Repetition Frequency):** 1600 Hz * **NPP (Number of Pings per Profile):** 32 * **Number of Gates (Measurement Cells):** 144 ### `.npz` File Structure When loading a file using `numpy.load()`, the following variables can be accessed via their default array keys: * `arr_0`: Longitudinal velocity $U$ (m/s) * `arr_1`: Transverse velocity $V$ (m/s) * `arr_2`: Vertical velocity 1 $W_1$ (m/s) * `arr_3`: Vertical velocity 2 $W_2$ (m/s) * `arr_4`: Distance $d_j$ between the emitter and the measurement volume (m) * `arr_5`: Acoustic echo intensity (Amplitude) ### Loading and Basic Processing (Python) The script below demonstrates how to load the data, assign the corresponding variables, and automatically determine the bed position by locating the maximum peak in the acoustic signal intensity. ```python import numpy as np # 1. Loading the data file_path = r"C:\Users\yoncampa4o\Desktop\Saved\TP_TMA\CodeTPCoucheLimite\DATA\DEMO\processed_20261007_CW_ADVP.npz" data = np.load(file_path) # 2. Assigning variables u = data['arr_0'] # Longitudinal velocity (m/s) v = data['arr_1'] # Transverse velocity (m/s) w1 = data['arr_2'] # Vertical velocity 1 (m/s) w2 = data['arr_3'] # Vertical velocity 2 (m/s) dj = data['arr_4'] # Distance from the emitter (m) echo = data['arr_5'] # Signal intensity # 3. Computing temporal means mean_u = np.nanmean(u, axis=0) mean_v = np.nanmean(v, axis=0) mean_w1 = np.nanmean(w1, axis=0) mean_w2 = np.nanmean(w2, axis=0) mean_echo = np.nanmean(echo, axis=0) # 4. Bed detection and normalization # The physical bed corresponds to the maximum intensity of the returned signal idx_lit = np.argmax(mean_echo) dj_lit = dj[idx_lit] # Creating a new Z axis (z = 0 at the bed level, z > 0 towards the surface) z = dj_lit - dj ```