NCEPLIBS-ip 5.2.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. | |
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().