NCEPLIBS-sp 2.4.0
|
Compute y-gradient in spectral space. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | spgrady (I, M, ENN1, EON, EONTOP, Q, QDY, QDYTOP) |
Computes the horizontal vector y-gradient of a scalar field in spectral space. More... | |
subroutine spgrady | ( | I, | |
M, | |||
real, dimension((m+1)*((i+1)*m+2)/2) | ENN1, | ||
real, dimension((m+1)*((i+1)*m+2)/2) | EON, | ||
real, dimension(m+1) | EONTOP, | ||
real, dimension((m+1)*((i+1)*m+2)) | Q, | ||
real, dimension((m+1)*((i+1)*m+2)) | QDY, | ||
real, dimension(2*(m+1)) | QDYTOP | ||
) |
Computes the horizontal vector y-gradient of a scalar field in spectral space.
Subprogram speps should be called already.
If L is the zonal wavenumber, N is the total wavenumber, EPS(L,N)=SQRT((N**2-L**2)/(4*N**2-1)) and A is Earth radius, then the meridional gradient of Q(L,N) is computed as EPS(L,N+1)*(N+2)/A*Q(L,N+1)-EPS(L,N+1)*(N-1)/A*Q(L,N-1).
Extra terms are computed over top of the spectral domain.
Advantage is taken of the fact that EPS(L,L)=0 in order to vectorize over the entire spectral domain.
I | spectral domain shape (0 for triangular, 1 for rhomboidal) |
M | spectral truncation |
ENN1 | N*(N+1)/A**2 |
EON | EPSILON/N*A |
EONTOP | EPSILON/N*A over top |
Q | scalar field |
QDY | merid gradient (times coslat) |
QDYTOP | merid gradient (times coslat) over top |
Definition at line 31 of file spgrady.f.
Referenced by sptgptsd().