NCEPLIBS-sp
2.3.3
|
Go to the source code of this file.
Functions/Subroutines | |
subroutine | spgradq (I, M, ENN1, ELONN1, EON, EONTOP, Q, QDX, QDY, QDYTOP) |
COMPUTES THE HORIZONTAL VECTOR GRADIENT OF A SCALAR FIELD IN SPECTRAL SPACE. More... | |
subroutine spgradq | ( | I, | |
M, | |||
real, dimension((m+1)*((i+1)*m+2)/2) | ENN1, | ||
real, dimension((m+1)*((i+1)*m+2)/2) | ELONN1, | ||
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)) | QDX, | ||
real, dimension((m+1)*((i+1)*m+2)) | QDY, | ||
real, dimension(2*(m+1)) | QDYTOP | ||
) |
COMPUTES THE HORIZONTAL VECTOR 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 ZONAL GRADIENT OF Q(L,N) IS SIMPLY I*L/A*Q(L,N) WHILE 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 | - INTEGER SPECTRAL DOMAIN SHAPE (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL) |
M | - INTEGER SPECTRAL TRUNCATION |
ENN1 | - REAL ((M+1)*((I+1)*M+2)/2) N*(N+1)/A**2 |
ELONN1 | - REAL ((M+1)*((I+1)*M+2)/2) L/(N*(N+1))*A |
EON | - REAL ((M+1)*((I+1)*M+2)/2) EPSILON/N*A |
EONTOP | - REAL (M+1) EPSILON/N*A OVER TOP |
Q | - REAL ((M+1)*((I+1)*M+2)) SCALAR FIELD |
QDX | - REAL ((M+1)*((I+1)*M+2)) ZONAL GRADIENT (TIMES COSLAT) |
QDY | - REAL ((M+1)*((I+1)*M+2)) MERID GRADIENT (TIMES COSLAT) |
QDYTOP | - REAL (2*(M+1)) MERID GRADIENT (TIMES COSLAT) OVER TOP |