DOI: 10.5061/dryad.4qrfj6qhr
title: Data from: Validation of surface wave spectral measurements from velocity profiling floats

description: EM-APEX floats have primarily been used to measure subsurface ocean
 velocities for the purpose of studying ocean dynamics and the
 vertical structure and shear of currents. However, the
 motionally-induced voltage sensed by the EM-APEX also contains signals
 from surface wave orbital velocities, and the time taken to pass
 through the top ∼100 m of the water column is sufficient to
 estimate a full spectrum of surface wave amplitudes with periods from
 3–25 seconds (i.e., including both wind seas and long swell) with
 each profile. The addition of surface wave measurements expands
 the abilities of the EM-APEX to include measuring the dynamics
 of waves and their interactions with surface and sub-surface
 currents. Following procedures developed by Hsu (2021) and
 D’Asaro (2015), we tested and analyzed the performance of EM-APEX
 floats as surface wave measuring instruments against other
 in-situ wave-measuring platforms. Data from a 2017 field study
 off the coast of California (ONR’s Langmuir Circulation Department
 Research Initiative, or LC-DRI) were used to test the ability of
 the EM-APEX floats to accurately measure surface-wave spectra, as
 well as bulk wave parameters such as significant wave height and
 energy weighted period. This field campaign included the
 deployment of 6 EM-APEX floats, 8 SWIFT buoys and a Datawell
 Waverider buoy, which were used for the analysis presented here. In
 this paper we discuss the limitations and uncertainties inherent
 in the EM-APEX wave measurements, and determine the uncertainty
 on each individual 1 Hz velocity measurement to be on the
 order of 1.6 cm/s, resulting in a minimal detectable significant
 wave height of ?? = 0.6 m. Results indicate that the EM-APEX
 surface wave measurements are in good agreement with the
 other in-situ bulk wave measurements, with correlation
 coefficients of ? = 0.87 for significant wave height, and ? =
 0.81 for energy-weighted period. As EM-APEX floats are already a
 well-used platform for directly observing subsurface ocean
 currents, vertical shear, and turbulent mixing in the ocean, this
 work demonstrates the potential for these floats to be used as a powerful
 tool for direct measurements of surface-wave driven mixing
 processes, Langmuir turbulence, and the interactions between
 surface waves and ocean currents.
description: # Data from: Validation of surface wave spectral measurements from
 velocity profiling floats
 [https://doi.org/10.5061/dryad.4qrfj6qhr](https://doi.org/10.5061/dryad.4qrfj6qhr) This repository contains all the necessary data for reproducing the results and figures from Stadler, et al. 2025, Validation of Surface Wave Spectral Measurements from Velocity Profiling Floats. ## Description of the data and file structure The all the data is contained within the FigureData.zip. When uncompressed, this contains nine folders, labelled Fig1 -&gt; Fig9. The ".npz" file containing the data used to make each figure. The ".npz" file format is a compressed python numpy data format, which can then be loaded in python using the numpy command np.load(). The data in each ".npz" file is structured as a dictionary, and the data in each file is described below: Fig1/fig1_data.npz: * "apex_locs": Python dictionary containing lat/lon positions for each float during the deployment. Dictionary keys are float names, values are (n, 3) dimension numpy arrays with columns containing (time, lat, lon) data. * "swift_locs": Same structure as above, except values in dictionary are (n, 2) numpy arrays with columns containing (lon, lat) data. * "waverider_lat": scalar value of waverider buoy latitude * "waverider_lon": scalar value of waverider buoy longitude * "flip_lat": scalar value of R/P Flip latitude * "flip_lon": scalar value of R/P Flip longitude Fig2/fig2_data.npz: * "era_hs": (m,n) numpy array containing Hs (m) values from ERA-5 reanalysis at each (lat,lon) location corresponding to era_lat and era_lon values * "era_lat": (m,) numpy array containing latitude locations corresponding to Hs values * "era_lon": (n,) numpy array containing longitude locations corresponding to Hs values * "wind_times": timestamps corresponding to wind measurement values in the "windspeed" data from R/P Flip * "windspeed": Timeseries of wind measurements from R/P Flip * "waverider_times": timestamps corresponding to wave measurements from waverider buoy * "waverder_hs": Hs (m) from waverider buoys. Time of each measurement is given in "waverider*_*times" array. Fig3/fig3_data.npz: * "voltage": (n,) raw voltage values from EM-APEX float shown in fig 3a * "voltage_fits":(n, m) array containing the values of each of the m 50s fits to the raw voltage data. * "mean_voltage_fit": (n,) array determined by averaging across the m different fits to the raw voltage * "residuals": (n, m) array containing all the residuals calculated from each 50s fit. * "mean_residuals": (n,) numpy array containing mean values of all the residuals. Fig4/fig4_data.npz: * 'apex_f': EM-APEX spectral frequencies - 'apex_raw_up': raw spectra from EM-APEX up profile - 'apex_raw_down': raw spectra from EM-APEX down profile - 'apex_filtered_up': raw filtered spectra from EM-APEX up profile - 'apex_filtered_down': raw filtered spectra from EM-APEX down profile - 'apex_corr_up': corrected filtered spectra from EM-APEX up profile - 'apex_corr_down': corrected filtered spectra from EM-APEX down profile - 'waverider_f': Waverider spectral frequencies - 'waverider_spec': Waverider Energy density spectrum - 'swift_f': Swift spectral frequencies - 'swift_spec': Swift energy density spectrum - 'rotf_down': EM-APEX down profile rotation frequency. - 'rotf_up': EM-APEX up profile rotation frequency Fig5/fig5_data.npz: * 'waverider_time': timestamps of waverider spectral measurements . * 'waverider_f': frequency bins of waverider spectral measurements. * 'waverider_spec': waverider energy density spectra in units m^2/Hz * 'apex_time': timestamps of EM-APEX spectral measurements * 'apex_f': frequency bins of EM-APEX spectral measurements * 'apex_spec': EM-APEX energy density spectra in units m^2/Hz Fig6/fig6_data.npz: * 'apex_time': timestamps of EM-APEX Hs measurements * 'apex_hs': EM-APEX Hs measurements * 'waverider_time': waverider Hs measurement timestamps * 'waverider_hs': waverider measurements Fig7/fig7_data.npz: * 'apex_a_v_w_hs': EM-APEX Hs measurements for comparing with waverider measurements (fig 7a) * 'waverider_a_v_w_hs': Waverider Hs measurements for comparing with EM-APEX measurements (fig 7a) * 'apex_a_v_s_hs':  EM-APEX Hs measurements for comparing with swift measurements (fig 7b) * 'swift_a_v_s_hs':  SWIFT Hs measurements for comparing with EM-APEX measurements (fig 7b) * 'apex_a_v_r_hs':  EM-APEX Hs measurements for comparing with closest reference measurement (fig 7c) * 'ref_a_v_r_hs':  closest reference measurement Hs measurements for comparing with EM-APEX measurements (fig 7c) Fig8/fig8_data.npz: * data in this file is of identical structure to Fig7 data, with filenames ending in"_te" instead of "_hs" for wave period measurements Fig9/fig9_data.npz: * 'apex_errors': List of EM-apex simulated residual errors * 'ref_hs': List of reference Hs for model runs * 'sim_hs': array of simulated Hs for each reference Hs calculated for the noise levels given in "noise_levels" * 'sim_stdev': standard deviations for each simulated Hs measurement * 'noise_levels': list of noise levels used in simulations * 'min_detectable_hs': list of minimum detectable waveheight for each nosie level.