tsutterley / gravity-toolkit

Python tools for obtaining and working with data from the GRACE and GRACE Follow-On missions
https://gravity-toolkit.readthedocs.io
MIT License
32 stars 19 forks source link

About some principles and methods in gen_averaging_kernel.py, gen_disc_load.py and gen_spherical_cap.py #135

Open SingyuTang opened 1 year ago

SingyuTang commented 1 year ago

Hello, when I read your file named gen_averaging_kernel.py, I need to input (gclm, gslm, eclm, eslm, sigma, hw) 6 parameters. I followed the method in Swenson et al. (2002) and made a little modification to the file named genharmonics.py to perform spherical harmonic expansion on the basin $\vartheta{lm}^c,\vartheta_{lm} ^s$ . Here are some of my questions: (1) When I use genharmonics.py to perform spherical harmonic expansion of the basin, the parameter is selected as METHOD='integration', and coeff = 1.0/(4.0*np.pi) is defined in your file, but it seems that this step is not required in the introduction of Swenson et al. (2002), so I removed it, and based on this, I obtained $(\vartheta{lm}^c ,\vartheta_{lm}^s)$, I think this should be reasonable. Is this available as an input parameter (gclm, gslm) in the gen_averaging_kernel.py file? (2) You don't seem to have made too many introductions and notes on the gen_harmonics function, and I haven't found it used in other scripts, so I don't know how to calculate your three input parameters (eclm, eslm, sigma)? (3) By the way, both gen_disc_load.py and gen_spherical_cap.py seem to be closely related to Jacob et al. (2012). I briefly read this paper, but I can’t seem to find a complete derivation formula in the text to support my understanding of the code in your two files and the method used by your code. Can you provide me with some help, or briefly explain the functions of these two files? Where can I find a more complete description of these methods? These two files do not seem to affect my main direction of learning, but I still want to understand the principle. (4) On the basis of (3), there is a question about mass coefficients and geoid coefficients. I seem to confuse these two. I always think that there is the following relationship between them. It is also possible that I put these two Both definitions are wrong, and the following formula refers to the notation in Wahr et al. (1998).

fomula

But the following code is used in your code to convert mass coefficients to geoid coefficients

# calculate SH degree dependent factors to convert from coefficients
# of mass into normalized geoid coefficients
dfactor = 4.0*np.pi*factors.cmwe/(1.0 + 2.0*factors.l)

This code does not seem to correspond to the above formula. Is it where I confused the concept, and other more forms of spherical harmonic coefficients? Can you help me answer it?

tsutterley commented 1 year ago

From Eq. 4 of Jacob et al. (2012) for spherical caps:

\left[\begin{matrix}\tilde{C}_{lm} \\ \tilde{S}_{lm}\end{matrix}\right] = 
\frac{3}{\rho_\textrm{ave}a}\frac{(1 + k_l)}{(2l + 1)^2}~F_l~\tilde{P}_{lm}(cos\theta)\left[\begin{matrix}\cos(m\phi) \\ \sin(m\phi)\end{matrix}\right]

From Eqs. 6 and 7 of Wahr et al. (1998) for integrating surface mass density anomalies over a sphere:

\left[\begin{matrix}\tilde{C}_{lm} \\ \tilde{S}_{lm}\end{matrix}\right] = 
\frac{3}{4\pi\rho_\textrm{ave}a}\frac{(1 + k_l)}{(2l + 1)} \iint \sigma(\theta, \phi)~\tilde{P}_{lm}(cos\theta)\left[\begin{matrix}\cos(m\phi) \\ \sin(m\phi)\end{matrix}\right]\sin\theta~d\theta~d\phi

The coefficients from Wahr et al. (1998) are a default attribute within the units class (i.e. factors.cmwe). But getting the units for a spherical cap (from Jacob et al., 2012) can be calculated from this default, which is the dfactor you find in the cap program.