-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update QBO amplitude calculation #816
base: main
Are you sure you want to change the base?
Conversation
Change the NFFT0, frequency, and interpolation of period calculations
@justin-richling Thanks for the PR! I still won't be able to figure out why it is needed to add the I ran a test with the new algorithm and compared to the original one, the power spectrum density changed a lot, and I'm not sure if it is the intended behavior. Could you provide an explanation of the code change here? Thank you! Before: Command line to reproduce on Perlmutter: |
Sure thing, @chengzhuzhang! From Jack: Fast Fourier transform (FFT) is used for the QBO spectra calculator in which power spectra in frequency space is carried out in a discrete form. The original code used an interpolation approach to obtain power spectra in the period space (inverse of frequency). However, this approach could not produce consistent results under simulations of different durations. The revised code uses a bin approach which sums all the power within each period bin (2 months). |
@justin-richling -- so it looks like in this 15-year demonstration case the higher frequency activity is better resolved and the lower frequency activity is poorly resolved. I assume amplitude line in the bottom panel would become smoother if a longer time window were used, correct? |
@jjbenedict Correct, for something like a typical 30-year run (ERA Interim), the result will be smoother. |
Thank you for the explanation @justin-richling! |
@chengzhuzhang I talked with @justin-richling and Jack earlier this week. Justin is actively working with Walter Hannah to implement the wavelet analysis (Walter had earlier written a python script to compute the wavelets). We're thinking it might be good to include in E3SM Diags both the traditional Fourier method (as implemented now, and appropriate for time windows of 30 yr or longer) -and- the wavelet method (which may be better for shorter time windows). We'll have to do some tests with the wavelet method to see how effective it is at shorter time windows, but the expectation is that is will be smoother than Jack's existing Fourier method. Maintaining the Fourier method would also allow greater consistency with QBO plots from previous E3SM versions. We realize the urgency of implementing the wavelet analysis, given that v3 simulations are now being run... we'll do our best to get this set up and tested as quickly as possible. FYI -- I will be on vacation July 6-22 (though interrupted by a meeting July 16-17, when I will be checking email). |
Change the NFFT0, frequency, and interpolation of period calculations
Description
@jjbenedict and @whannah1 identified an odd behavior that the QBO amplitude peak (bottom figure) gets weaker with longer years of simulation being analysed.
@chengzhuzhang tested with multiple year lengths (1-10, 1-20, …1-100) and can reproduce this behavior.
QBO_diags_tests.pptx
This PR is contributed by @justin-richling and Jack Chen ([email protected]) for coming up with a fix.
Checklist
If applicable: