NCEPLIBS-sp 2.4.0
spuv2dz.f File Reference

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...
 

Detailed Description

Compute divergence and vorticity from winds.

Author
Iredell
Date
92-10-31

Definition in file spuv2dz.f.

Function/Subroutine Documentation

◆ spuv2dz()

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.

Parameters
Iinteger spectral domain shape (0 for triangular, 1 for rhomboidal)
MINTEGER 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
Author
Iredell
Date
92-10-31

Definition at line 48 of file spuv2dz.f.

Referenced by sptranfv().