NCEPLIBS-sp  2.3.3
spdz2uv.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine spdz2uv (I, M, ENN1, ELONN1, EON, EONTOP, D, Z, U, V, UTOP, VTOP)
 Compute winds from divergence and vorticity. More...
 

Function/Subroutine Documentation

◆ spdz2uv()

subroutine spdz2uv (   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))  D,
real, dimension((m+1)*((i+1)*m+2))  Z,
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 
)

Compute winds from divergence and vorticity.

Author
IREDELL ORG: W/NMC23
Date
92-10-31 Computes the wind components from divergence and vorticity 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))
 
a
nd A is earth radius, then the zonal wind component U is computed as
 U(L,N)=-I*L/(N*(N+1))*A*D(L,N)
 +EPS(L,N+1)/(N+1)*A*Z(L,N+1)-EPS(L,N)/N*A*Z(L,N-1)
 
and the meridional wind component V is computed as
 V(L,N)=-I*L/(N*(N+1))*A*Z(L,N)
 -EPS(L,N+1)/(N+1)*A*D(L,N+1)+EPS(L,N)/N*A*D(L,N-1)
 
where D is divergence and Z is vorticity. U and V are weighted by the cosine of latitude. Cxtra 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.
Parameters
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
D- REAL ((M+1)*((I+1)*M+2)) DIVERGENCE
Z- REAL ((M+1)*((I+1)*M+2)) VORTICITY
U- REAL ((M+1)*((I+1)*M+2)) ZONAL WIND (TIMES COSLAT)
V- REAL ((M+1)*((I+1)*M+2)) MERID WIND (TIMES COSLAT)
UTOP- REAL (2*(M+1)) ZONAL WIND (TIMES COSLAT) OVER TOP
VTOP- REAL (2*(M+1)) MERID WIND (TIMES COSLAT) OVER TOP

Definition at line 45 of file spdz2uv.f.