64 SUBROUTINE sptgptvd(IROMB,MAXWV,KMAX,NMAX,
65 & KWSKIP,KGSKIP,NRSKIP,NGSKIP,
66 & RLAT,RLON,WAVED,WAVEZ,
67 & DP,ZP,UP,VP,UXP,VXP,UYP,VYP)
69 REAL RLAT(*),RLON(*),WAVED(*),WAVEZ(*)
70 REAL DP(*),ZP(*),UP(*),VP(*),UXP(*),VXP(*),UYP(*),VYP(*)
71 REAL EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)
72 REAL ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)
73 REAL ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)
74 REAL EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)
76 REAL W((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2,4*KMAX)
77 REAL WTOP(2*(MAXWV+1),4*KMAX)
78 REAL PLN((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),PLNTOP(MAXWV+1)
79 REAL F(2*MAXWV+2,2,6*KMAX),G(6*KMAX)
80 parameter(pi=3.14159265358979)
83 CALL spwget(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)
84 mx=(maxwv+1)*((iromb+1)*maxwv+2)/2
115 CALL spdz2uv(iromb,maxwv,enn1,elonn1,eon,eontop,
116 & waved(kws+1),wavez(kws+1),
117 & w(1,ku),w(1,kv),wtop(1,ku),wtop(1,kv))
126 IF(abs(rlat((n-1)*nr+1)).GE.89.9995)
THEN
127 slat1=sign(1.,rlat((n-1)*nr+1))
130 slat1=sin(pi/180*rlat((n-1)*nr+1))
131 clat1=cos(pi/180*rlat((n-1)*nr+1))
133 CALL splegend(iromb,maxwv,slat1,clat1,eps,epstop,
135 CALL spsynth(iromb,maxwv,2*maxwv,idim,mdim,2*mxtop,4*kmax,
136 & clat1,pln,plntop,mp,w,wtop,f)
137 CALL spgradx(maxwv,idim,2*kmax,mp(2*kmax+1),clat1,
138 & f(1,1,2*kmax+1),f(1,1,4*kmax+1))
139 CALL spfftpt(maxwv,1,idim,1,6*kmax,rlon((n-1)*nr+1),f,g)
147 nk=(n-1)*ng+(k-1)*kg+1
154 uyp(nk)=g(kvx)-clat1*g(kz)
155 vyp(nk)=clat1*g(kd)-g(kux)