Thanks for following through on this idea of yours.
I have been looking at the possibility of an *exact* biannual period as you have suggested for the QBO.
The model I am using for QBO is that there is a characteristic resonant frequency associated with the wave equation, but that an exact biannual modulation is applied.
$ f''(t) + (a + q \sin(4 \pi t + \theta)) f(t) = 0 $
This differs from applying a RHS forcing of a biannual modulation, because that would form strong modulated beat frequencies in the output. But that kind of modulation is not seen in the QBO -- as the amplitudes are roughly constant over the decades.
This is one fit that I created with the biannual Mathieu modulation
In addition to the biannual modulation, I added two longer term modulations -- a ~12 year period and a slow 47 year time dilation. The latter two corrections improves correlation coefficient until the residual starts to appear closer to white noise.
The above data has a median filter and a long-range mean filter applied. If I don't filter, the comparison looks like:
I do think the biannual modulation is a real effect. The details of the waveform, in particular the flattening of the peaks with the characteristic shoulders are very difficult to reproduce any other way. It is possible that the flattening is a saturation effect but that is definitely something that can be added to the model.
This also ties in to the [tide gauge model for ENSO](http://forum.azimuthproject.org/discussion/1480/tidal-records-and-enso/#Item_50) and the [seasonal alignment thread](http://forum.azimuthproject.org/discussion/1497/nino-3-and-seasonal-alignment/#Item_3). The difference is that for the ocean, the exact biennial oscillation shows up as a RHS *forcing*. Perhaps the way to understand this is that the atmosphere has less inertia and thus is able to respond to a faster modulation perturbing the characteristics of the media, i.e. the natural resonance.
Of course this could use additional machine learning -- once a correlation coefficient gets above 0.8 it often provides enough of a guide that a search algorithm can really start to zone in on a solution. I see that many times with the Eureqa tool ; once it locks in to a correlation approaching unity, it often moves quickly.