Estimation of the directional wave spectrum

Estimating the directional wave spectrum is something we all do regularly, it’s definitely a fundamental step in processing and interpreting wave measurements.

But what is your preferred method for estimating it?
MEM? MLM? Wavelets? Something else?
What is your experience with different methods? What software do you use?

To open up this conversation, I’d like to share a tool I’ve been working on that was just published in JOSS:

:backhand_index_pointing_right: EWDM – A Python toolkit for directional spectrum estimation using wavelets

This is a Python project that implements the algorithms of the original Donelan’s WDM (Wavelet Directional Method) that are suitable for spatially-distributed arrays of wave staffs; as well as the algorithms described in our recent JTECH paper (Peláez-Zapata et al. 2024) for single-point triplets of wave-induced displacements, velocities, accelerations or slopes (see also Krogstad et al., 2006).

It allows the estimation of the directional wave spectrum for a variety of sources, including GPS buoys, pitch-roll buoys, ADCPs, wave staffs, or sampled points from stereo-imaging recordings. It includes helper functions to handle commonly used data sources such as Spotter buoys and CDIP.

The implementation is open-source and aims to be both transparent and extendable. Please have a look at the project documentation, especially the gallery of examples. Feedback and contributions are welcome.

I’d really like to hear your thoughts on the methods you use, the software implementations and the practical trade-offs you consider when estimating spectra from wave measurements. This could be a great opportunity to enhance our data processing tools together as a wave community.

Let’s compare notes and push this conversation forward.

2 Likes

Hi Daniel.
A detailed comparison was made by Benoit et al. (1997) and the best method in their conclusion was MEM2. My issue with that type of work is that they did not have ground truth from true ocean waves … which we now have with stereo video. Wavelets arrived later, but as far as I know, nobody made the effort to make sure that the resulting spectrum was consistent with the input parameters: i.e. a WDM “spectrum” has a spread that is (by construction) narrower than the measured spread (e.g. from a1 and b1). Personally, I avoid using buoy-derived spectra for science, and keep them for pretty pictures. But yes, sometimes it is still your best guess and you are going to use it. But if you have fixed the low spread bias on WDM, I’m interested to know more about it.

1 Like

Hi Fabrice

These are very interesting points. If I remember well, when we did the comparison of the wavelet method with EMEP and IMLM for a Spotter buoy dataset, we found that wavelets produced narrower spreadings than IMLM but broader than EMEP, but I never looked at the observed moments a_1, b_1, etc… so maybe we can say that a possible metric to tell how good a method is, could be like:

\epsilon = \sqrt{(a_1 - \tilde{a}_1)^2 + (b_1 - \tilde{b}_1)^2 + (a_2 - \tilde{a}_2)^2 + (b_2 - \tilde{b}_2)^2}

or something similar?

Hi Daniel,
Yes, you can compute a1 and b1 from your WDM spectrum, and then compute sigma1 and compare that to the buoy sigma1.
When you do this with MEM, you get back exactly the imput number. This is not the case with MLM (spread too high) and WDM (spread too low). So these spectra have to be “tweaked” to be consistent with the input parameters.
For quantities that do not require the full directional spectrum (i.e. the Stokes drift …) it is better to avoid the detour through directional spectrum estimate and work directly from the directional moments.

1 Like

Daniel,

Thank you very much for putting this toolkit together! I haven’t yet peeked into the code or used it on my own data, but your gallery of examples is quite impressive. The level of openness and documentation is impressive enough by itself, but I’m also so glad to see WDM get a second life.

The limitations of WDM that Fabrice mentioned are certainly real, but I think there’s a rare opportunity to exploit WDM’s independent retrieval of k and f. The best example of this is the work of Björkqvist et al. [2019] (DOI: 10.1029/2018JC014904), wherein the outputs of WDM were used to produce a spectral energy density for which the independent variable is the wave inverse phase speed.

In any case, I’m very excited to start using EWDM on our observational datasets. P.S.- do you think it would be straightforward to set up an option for downward-looking ADCPs? Platforms like SWIFT (v4) and my own group’s research buoy orient our Signature1000 in a downward configuration.

Cheers,
Nathan

3 Likes

Hi Nathan

Thank you for your encouraging words.

It is true that, despite the limitations, a nice feature of WDM is its ability to produce the k-f spectrum, which is certainly useful for some applications.

For downward-looking ADCPs, it’s in principle straightforward, but it would be necessary to incorporate the correction factors for either pressure or vertical velocity that are currently not included in EWDM. If you could share a sample data (30 mins for example), I could perhaps try to set it up and add it to the gallery of examples :grinning_face:

1 Like

That’s good to learn! I don’t have those data in-hand at the moment, but perhaps the SWIFT v4 data from Jim Thomson or Kristen Zeiden (neither of whom seem to be on this Discourse yet) would fit the bill.

1 Like