README File For 'Three-dimensional variational data assimilation of separated flows using time-averaged experimental data' Dataset DOI: https://doi.org/10.5258/SOTON/D3795 Date that the file was created: 01/2026 ------------------- GENERAL INFORMATION ------------------- README Author: Uttam Cadambi Padmanaban, University of Southampton, 0000-0003-2011-2838 -------------------------- SHARING/ACCESS INFORMATION -------------------------- Licenses/restrictions placed on the data, or limitations of reuse: Open access, License CC BY Recommended citation for the data: This dataset supports the publication: AUTHORS: U. Cadambi Padmanaban, B. Ganapathisubramani, S. Symon TITLE: Three-dimensional variational data assimilation of separated flows using time-averaged experimental data JOURNAL: Physical Review Fluids PAPER DOI: 10.1103/q7sd-q3dn -------------------- DATA & FILE OVERVIEW -------------------- This dataset contains 15 csv files for all figures with data in the manuscript. 1. Figure 2: Mean streamwise and wall-normal velocity fields from the experiment Description: This figure presents the mean streamwise and wall-normal velocity fields from the experiment, including the U_x = 0 streamline.Data Source: The data presented in this figure was originally collected for the study: "Low-order modelling and sensor-based prediction of stalled airfoils at moderate Reynolds number." Accessing the Data:The dataset is hosted at the University of Southampton repository: http://dx.doi.org/10.5258/SOTON/D2565. To obtain the files, please visit https://library.soton.ac.uk/datarequest and submit a request referencing the manuscript information provided in the DOI link above. 2. Figure 3: The divergence of the mean velocity data from the experiment. Datafile name: fig3_mean_velocity_divergence.csv: Column 1 (x coordinates): The spatial x-coordinate of the measurement grid. Column 2 (y coordinates): The spatial y-coordinate of the measurement grid. Column 3 (divergence): The calculated divergence of the mean velocity field at the corresponding (x, y) location. NaN values indicate regions where data is missing or masked (e.g., inside the airfoil model). How to Use This Data for Plotting: The data in this file is stored in a "flattened" (vectorized) format, meaning the 2D grid has been unrolled into single columns to maximize compatibility. To reproduce the contour plot shown in Figure 3: a. Import: Load the three columns from the CSV file. b. Reshape: Recognize that the original data grid has dimensions 197 rows × 249 columns. You must reshape each of the three 1D columns back into 2D matrices of this size (197 x 249). c. Handle Missing Data: Ensure your plotting software recognizes "NaN" text as missing values so that the grid structure is maintained without shifting the data points. d. Plot: Once reshaped, pass the resulting X, Y, and Divergence matrices into your preferred contour plotting function (e.g., contourf in Python/MATLAB or filled.contour in R). 3. Figure 5: Baseline RANS SA model comparison for 2DVar: This figure is generated using two datasets: one for the raw baseline model results using 2Dvar (Panels A & B) and one for the error norm computed against the experiment (Panel C). File 1: Baseline Mean Fields Datafile name: fig5ab_bsl_mean_fields.csv Description: This file contains the mean streamwise and wall-normal velocity fields directly from the baseline RANS SA model simulation. The data is unstructured. Column 1: Baseline x coordinates Column 2: Baseline y coordinates Column 3: Baseline streamwise velocity Column 4: Baseline wall-normal velocity How to Use This Data for Plotting: Type: Unstructured data. Plotting: Do not reshape. Load the columns and use a triangulation-based plotting function (e.g., tricontourf in Python/MATLAB) to reproduce Panels A and B. File 2: L1 Norm Comparison Datafile name: fig5c_l1_bsl_exp_comp.csv Description: This file contains the L1 norm of the velocity difference between the baseline model and the experiment. To generate this metric, the unstructured baseline data was linearly interpolated onto the structured experimental grid. Column 1: Experimental x coordinates Column 2: Experimental y coordinates Column 3: L1 Norm value. NaN values indicate regions where experimental data is missing or masked. How to Use This Data for Plotting: Type: Structured Grid Data (Flattened). Plotting: This data shares the same grid dimensions as Figure 3 (197 x 249). a. Load the three columns. b. Reshape them into 2D matrices (e.g., 197 rows, 249 columns). c. Plot using standard contour functions (e.g., contourf). d. Ensure your software handles NaN values correctly to maintain grid alignment. 4. Figure 6: Convergence of the normalized objective function for 2DVar. Datafile name: fig6_convergence_2D.csv Column 1: The number of iterations N used in the assimilation. Column 2: The value of the objective function (logarithmic scale) scaled by the baseline value for 2Dvar. How to Use This Data for Plotting: a. Load: Read the CSV file (ensure your loader handles files with no headers). b. Plot: Assign Column 1 to the x-axis and Column 2 to the y-axis. c. Scale: Note that the y-axis in the original figure is logarithmic (semilogy). When reproducing the plot, apply a log scale to the y-axis to match the visual representation in Figure 6. 5. Figure 7: Assimilated RANS SA model comparison for 2DVar: This figure is generated using two datasets: one for the assimilated results using 2DVar (Panels A & B) and one for the error norm computed against the experiment (Panel C). File 1: Assimilated Mean Fields Datafile name: fig7ab_assm_mean_fields.csv Description: This file contains the mean streamwise and wall-normal velocity fields directly from the data-assimilated RANS SA model simulation. The data is unstructured. Column 1: Assimilated x coordinates Column 2: Assimilated y coordinates Column 3: Assimilated streamwise velocity Column 4: Assimilated wall-normal velocity How to Use This Data for Plotting: Type: Unstructured data. Plotting: Do not reshape. Load the columns and use a triangulation-based plotting function (e.g., tricontourf in Python/MATLAB) to reproduce Panels A and B. File 2: L1 Norm Comparison Datafile name: fig7c_l1_assm_exp_comp.csv Description: This file contains the L1 norm of the velocity difference between the data-assimilated model and the experiment. To generate this metric, the unstructured data-assimilated data was linearly interpolated onto the structured experimental grid. Column 1: Experimental x coordinates Column 2: Experimental y coordinates Column 3: L1 Norm value. NaN values indicate regions where experimental data is missing or masked. How to Use This Data for Plotting:Type: Structured Grid Data (Flattened). Plotting: This data shares the same grid dimensions as Figure 3 (197 x 249). a. Load the three columns. b. Reshape them into 2D matrices (e.g., 197 rows, 249 columns). c. Plot using standard contour functions (e.g., contourf). d. Ensure your software handles NaN values correctly to maintain grid alignment. 6. Figure 8: Comparison of Reynolds forcing and Optimized forcing (2DVar) Datafile name: fig8_compare_opt_re_forcing_2D.csv Description: This figure compares the divergence of the Reynolds stress tensor (Reynolds forcing) derived from the baseline model against the optimized forcing terms recovered by the 2DVar data assimilation. Panels A & B: Reynolds forcing components. Panels C & D: Optimized forcing components. Column 1: x coordinates Column 2: y coordinates Column 3: Reynolds forcing x-component (Panel A) Column 4: Reynolds forcing y-component (Panel B) Column 5: Optimized forcing x-component (Panel C) Column 6: Optimized forcing y-component (Panel D) How to Use This Data for Plotting: Type: Unstructured data. Plotting: Do not reshape. Load the columns and use a triangulation-based plotting function (e.g., `tricontourf` in Python/MATLAB). a. Use Columns 1 and 2 for the coordinates. b. Use Columns 3 through 6 for the respective contour values. 7. Figure 9: Convergence of the normalized objective function for 3DVar. Datafile name: fig9_convergence_3D.csv Column 1: The number of iterations N used in the assimilation. Column 2: The value of the objective function (logarithmic scale) scaled by the baseline value for 3DVar. How to Use This Data for Plotting: a. Load: Read the CSV file (ensure your loader handles files with no headers). b. Plot: Assign Column 1 to the x-axis and Column 2 to the y-axis. c. Scale: Note that the y-axis in the original figure is logarithmic (semilogy). When reproducing the plot, apply a log scale to the y-axis to match the visual representation in Figure 9. 8. Figure 10: This figure presents the results for the 3DVar data assimilation, extracted from the mid-span plane (z/c = 0). It is generated using two datasets: one for the assimilated mean velocity fields (Panels A & B) and one for the error norm computed against the experiment (Panel C). File 1: Assimilated Mean Fields (3DVar) Datafile name: fig10ab_assm_3D_mean_fields.csv This file contains the mean streamwise and wall-normal velocity fields from the 3DVar data-assimilated RANS SA model simulation, extracted at the z/c = 0 plane. The data is unstructured. Column 1: Assimilated x coordinates Column 2: Assimilated y coordinates Column 3: Assimilated streamwise velocity ($u_x$) Column 4: Assimilated wall-normal velocity ($u_y$) How to Use This Data for Plotting: Type: Unstructured data. Plotting: Do not reshape. Load the columns and use a triangulation-based plotting function (e.g., tricontourf in Python/MATLAB) to reproduce Panels A and B. File 2: L1 Norm Comparison (3DVar) Datafile name: fig10c_l1_assm_3D_exp_comp.csv This file contains the L1 norm of the velocity difference between the 3DVar assimilated model (at $z/c=0$) and the experiment. To generate this metric, the unstructured assimilated data was linearly interpolated onto the structured experimental grid. Column 1: Experimental x coordinates Column 2: Experimental y coordinates Column 3: L1 Norm value. NaN values indicate regions where experimental data is missing or masked. How to Use This Data for Plotting: Type: Structured Grid Data (Flattened). Plotting: This data shares the same grid dimensions as Figure 3. a. Load the three columns. b. Reshape them into 2D matrices (e.g., 197 rows, 249 columns). c. Plot using standard contour functions (e.g., contourf). Ensure your software handles NaN values correctly to maintain grid alignment. 9. Figure 11: Comparison of Reynolds forcing and Optimized forcing (3DVar) Datafile name: fig11_compare_opt_re_forcing_3D.csv Description:This figure compares the divergence of the Reynolds stress tensor (Reynolds forcing) derived from the baseline model against the optimized forcing terms recovered by the 3DVar data assimilation (extracted at the z/c=0 plane). Panels A & B: Reynolds forcing components. Panels C & D: Optimized forcing components. Column 1: x coordinates Column 2: y coordinates Column 3: Reynolds forcing x-component (Panel A) Column 4: Reynolds forcing y-component (Panel B) Column 5: Optimized forcing x-component (Panel C) Column 6: Optimized forcing y-component (Panel D) How to Use This Data for Plotting:Type: Unstructured data. Plotting: Do not reshape. Load the columns and use a triangulation-based plotting function (e.g., tricontourf in Python/MATLAB).Use Columns 1 and 2 for the coordinates. Use Columns 3 through 6 for the respective contour values. 10. Figure 12: Comparison of Cp fields betwneen experiment, 2DVar and 3DVar Datafile name: fig12_pressure_2D_3D.csv This file contains the pressure coefficient Cp fields recovered from the 2DVar and 3DVar data assimilations. The 3DVar data is extracted from the z/c = 0 plane. Note: The experimental pressure data (Panel A in Figure 12) is not included in this file. Please refer to the experimental dataset DOI (http://dx.doi.org/10.5258/SOTON/D2565) to obtain the experimental reference data. Column 1: x coordinates Column 2: y coordinates Column 3: Pressure coefficient Cp from 2DVar (Panel B) Column 4: Pressure coefficient Cp from 3DVar (Panel C) How to Use This Data for Plotting: Type: Structured Grid Data (Flattened). Plotting: a. Load the columns. b. Reshape them into 2D matrices (matching the grid dimensions used in previous figures, e.g., 197 x 249). c. Plot using standard contour functions (e.g., contourf). d. Ensure your software handles NaN values correctly. 11. Figure 13: Surface Cp comparison of experimental data with 2DVar and 3DVar This file compares the surface pressure coefficient Cp distribution along the chord of the airfoil for the 2DVar and 3DVar assimilation cases. Note: The experimental surface pressure data is not included in this file. Please refer to the experimental dataset DOI (http://dx.doi.org/10.5258/SOTON/D2565) to obtain the experimental reference data. Column 1: Normalized x-coordinate (x/c). Column 2: Surface Cp from 2DVar. Column 3: Surface Cp from 3DVar. How to Use This Data for Plotting: a. Load: Read the CSV file. b. Plot: Plot Column 1 vs Column 2 for the 2DVar case. c. Plot Column 1 vs Column 3 for the 3DVar case.(Note: The y-axis in Figure 13 is inverted; ensure you invert the y-axis in your plotting software to match the visual representation). 12. Figure 14: Reynolds Shear Stress (u'v') Comparison Datafile name: fig14_rss_comparison.csv This file compares the Reynolds shear stress fields (u'v') from the Baseline, 2DVar, and 3DVar cases. Column 1: x coordinates (Baseline & 2DVar Mesh) Column 2: y coordinates (Baseline & 2DVar Mesh) Column 3: Reynolds Shear Stress (u'v') from Baseline (Panel B) Column 4: Reynolds Shear Stress (u'v') from 2DVar (Panel C) Column 5: x coordinates (3DVar Mesh) Column 6: y coordinates (3DVar Mesh) Column 7: Reynolds Shear Stress (u'v') from 3DVar (Panel D) How to Use This Data for Plotting: Type: Unstructured Data. Plotting:For Baseline/2DVar: a. Load Columns 1–4. b. Use Columns 1 & 2 for the coordinates and Column 3 or 4 for the values. For 3DVar: a. Load Columns 5–7. b. Use Columns 5 & 6 for the coordinates and Column 7 for the values. Note: The columns may have different lengths. If you read the whole file at once, ignore the trailing empty/NaN values in the shorter columns. 13. Figure 15: Reynolds Shear Stress (u'v') extended field of view and eddy viscosity comparison between 2DVar and 3DVar Datafile name: fig15_compare_2D_3D_nut_rss.csv This file compares the turbulent eddy viscosity ($\nu_t$) and Reynolds shear stress (u'v') fields for the 2DVar and 3DVar assimilation cases. Scaling: The eddy viscosity ($\nu_t$) values have been normalized by the scaling factor $1.33 \times 10^{-5}$ (inverse Reynolds number). Column 1: x coordinates (2DVar Mesh) Column 2: y coordinates (2DVar Mesh) Column 3: Eddy Viscosity ($\nu_t$) from 2DVar (Panel A) Column 4: Reynolds Shear Stress ($u'v'$) from 2DVar (Panel B) Column 5: x coordinates (3DVar Mesh) Column 6: y coordinates (3DVar Mesh) Column 7: Eddy Viscosity ($\nu_t$) from 3DVar (Panel C) Column 8: Reynolds Shear Stress ($u'v'$) from 3DVar (Panel D) How to Use This Data for Plotting: Type: Unstructured Data. Plotting:For 2DVar (Panels A & B): a. Load Columns 1–4. b. Use Columns 1 & 2 for coordinates. For 3DVar (Panels C & D): a. Load Columns 5–8. b. Use Columns 5 & 6 for coordinates. Visualization: Use a triangulation-based plotting function (e.g., tricontourf).Note: Ignore empty/NaN values at the end of the shorter columns if reading the whole file at once.