Page 1 of 1

Using GYRE machinery to evaluate eigenvalues of Laplace's tidal equations

Posted: Tue Jun 11, 2019 4:06 am
by warrick
Hi,

I'm currently trying to reproduce some g-mode analysis that involves a formula with eigenvalues of Laplace's tidal equation. This is beyond my usual area of expertise but, given a vague notion that this is something GYRE needs for the Traditional Approximation of Rotation (TAR), I went digging around inside GYRE to see how it evaluates the eigenvalues.

As far as I can tell, this is done through approximations in terms of Chebyshev polynomials, the coefficients of which are stored in data/tar. Fortunately, the segment of code, located in src/tar, include nifty Python routines for plotting evaluations of these functions. So I tried to reproduce Fig. 1 of Lee & Saio (1997).

At risk of offending the copyright gods, here's their figure:
Screenshot from 2019-06-11 09-54-25.png
Screenshot from 2019-06-11 09-54-25.png (65.13 KiB) Viewed 5455 times
Whereas here's my output from going to src/tar and running

Code: Select all

python3 plot_tar_fit.py -10.0 10.0 201 ../../data/tar/tar_fit.m-2.*.h5 LS97_Fig1.png
Screenshot from 2019-06-11 09-56-03.png
Screenshot from 2019-06-11 09-56-03.png (151.59 KiB) Viewed 5455 times
Basically, spot on, except there's clearly a sign difference. What have I missed? As far as I can tell from eq. (8)-(12) in Lee & Saio (1997) and Townsend (2003, which I presume is relevant?) the convention for the sign of the azimuthal dependence in the equations is the same, in the sense that in both papers the eigenfunctions go like exp(+imφ).

Cheers,
Warrick

Re: Using GYRE machinery to evaluate eigenvalues of Laplace's tidal equations

Posted: Tue Jun 11, 2019 12:22 pm
by rhtownsend
Hi Warrick --

There is a difference in sign convention -- Lee & Saio (and my earlier paper) assume m*nu < 0 corresponds to prograde modes. In GYRE, I adopt the more-modern convention that m*nu > 0 corresponds to prograde modes.

So, for a fixed m, everything is mirrored through nu=0.

cheers,

Rich

Re: Using GYRE machinery to evaluate eigenvalues of Laplace's tidal equations

Posted: Tue Jun 11, 2019 1:57 pm
by warrick
Aha, thanks. Is this documented somewhere that I should have found? I did a cursory glance through some GYRE-related papers but didn't find a description of details like this (presumably along with the TAR implementation).

Also, thanks for including the Python module for reading and interpolating in the eigenvalue data!

Re: Using GYRE machinery to evaluate eigenvalues of Laplace's tidal equations

Posted: Tue Jun 11, 2019 3:22 pm
by rhtownsend
warrick wrote: ↑
Tue Jun 11, 2019 1:57 pm
Aha, thanks. Is this documented somewhere that I should have found? I did a cursory glance through some GYRE-related papers but didn't find a description of details like this (presumably along with the TAR implementation).
This is the standard convention for the whole of GYRE. Have a look e.g. at the comments after equation 8 of Townsend, Goldstein & Zweibel (2018, MNRAS, 475, 879)
Also, thanks for including the Python module for reading and interpolating in the eigenvalue data!
Glad you've found it useful. I'm considering releasing the TAR stuff as a separate, stand-alone library, so that people can easily incorporate it in their science without needing the full GYRE installation. Do you think this would be valuable?

Re: Using GYRE machinery to evaluate eigenvalues of Laplace's tidal equations

Posted: Wed Jun 12, 2019 1:31 am
by warrick
rhtownsend wrote: ↑
Tue Jun 11, 2019 3:22 pm
warrick wrote: ↑
Tue Jun 11, 2019 1:57 pm
Also, thanks for including the Python module for reading and interpolating in the eigenvalue data!
Glad you've found it useful. I'm considering releasing the TAR stuff as a separate, stand-alone library, so that people can easily incorporate it in their science without needing the full GYRE installation. Do you think this would be valuable?
If you mean the kind of Python wrappers that already exist, I think so! You're guaranteed at least one person will install it. ;) I couldn't find any other Python code/package for computing eigenvalues of Laplace's tidal equation.