pvtend.helmholtz.laplacian_spherical_fft
- pvtend.helmholtz.laplacian_spherical_fft(phi: ndarray, lat: ndarray, dy: float, dlon_rad: float, R_earth: float = 6371000.0) ndarray[source]
Apply the spherical Laplacian using the SAME stencil as the Poisson solver.
Computes \(\nabla^2 \phi\) using the conservative-form spherical Laplacian identical to the one in
solve_poisson_spherical_fft():\[\nabla^2 \phi = \frac{1}{a^2 \cos^2\varphi} \frac{\partial^2 \phi}{\partial \lambda^2} + \frac{1}{a^2 \cos\varphi} \frac{\partial}{\partial \varphi} \left(\cos\varphi \frac{\partial \phi}{\partial \varphi}\right)\]This function is the analysis (forward) operator conjugate to the Poisson solver, so
laplacian_spherical_fft(solve_poisson(..., f), ...) == fto machine precision (interior points).- Parameters:
phi – Scalar field, shape
(nlat, nlon).lat – Latitude in degrees, shape
(nlat,).dy – Meridional grid spacing \(a \Delta\varphi\) [m].
dlon_rad – Longitudinal grid spacing \(\Delta\lambda\) [radians].
R_earth – Earth radius [m].
- Returns:
\(\nabla^2 \phi\), shape
(nlat, nlon). Boundary rows (j=0 and j=-1) are set to zero (Dirichlet).