NCEPLIBS-sp
2.5.0
|
Compute divergence and vorticity from winds. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | spuv2dz (I, M, ENN1, ELONN1, EON, EONTOP, U, V, UTOP, VTOP, D, Z) |
Computes the divergence and vorticity from wind components in spectral space. More... | |
subroutine spuv2dz | ( | 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)) | U, | ||
real, dimension((m+1)*((i+1)*m+2)) | V, | ||
real, dimension(2*(m+1)) | UTOP, | ||
real, dimension(2*(m+1)) | VTOP, | ||
real, dimension((m+1)*((i+1)*m+2)) | D, | ||
real, dimension((m+1)*((i+1)*m+2)) | Z | ||
) |
Computes the divergence and vorticity from wind components 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 divergence D is computed as:
D(L,N)=I*L*A*U(L,N) +EPS(L,N+1)*N*A*V(L,N+1)-EPS(L,N)*(N+1)*A*V(L,N-1)
and the vorticity Z is computed as:
Z(L,N)=I*L*A*V(L,N) -EPS(L,N+1)*N*A*U(L,N+1)+EPS(L,N)*(N+1)*A*U(L,N-1)
where U is the zonal wind and V is the meridional wind.
U and V are weighted by the secant of latitude.
Extra terms are used 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 | ((M+1)*((I+1)*M+2)/2) N*(N+1)/A**2 |
ELONN1 | ((M+1)*((I+1)*M+2)/2) L/(N*(N+1))*A |
EON | ((M+1)*((I+1)*M+2)/2) EPSILON/N*A |
EONTOP | (M+1) EPSILON/N*A over top |
U | ((M+1)*((I+1)*M+2)) zonal wind (over coslat) |
V | ((M+1)*((I+1)*M+2)) merid wind (over coslat) |
UTOP | (2*(M+1)) zonal wind (over coslat) over top |
VTOP | (2*(M+1)) merid wind (over coslat) over top |
D | ((M+1)*((I+1)*M+2)) divergence |
Z | ((M+1)*((I+1)*M+2)) vorticity |
Definition at line 48 of file spuv2dz.f.
Referenced by sptranfv().