92 SUBROUTINE sptrunmv(IROMB,MAXWV,IDRTI,IMAXI,JMAXI,KMAX,MI,MJ,
93 & IPRIME,ISKIPI,JSKIPI,KSKIPI,KGSKIP,
94 & NISKIP,NJSKIP,JCPU,RLAT1,RLON1,DLAT,DLON,
95 & GRIDUI,GRIDVI,LUV,UM,VM,LDZ,DM,ZM,LPS,PM,SM)
98 REAL GRIDUI(*),GRIDVI(*)
99 REAL UM(*),VM(*),DM(*),ZM(*),PM(*),SM(*)
100 REAL EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)
101 REAL ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)
102 REAL ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)
103 REAL EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)
104 REAL WD((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)
105 REAL WZ((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)
109 IF(jc.EQ.0) jc=
ncpus()
110 mx=(maxwv+1)*((iromb+1)*maxwv+2)/2
115 inp=(jmaxi-1)*max(0,-jn)+1
116 isp=(jmaxi-1)*max(0,-js)+1
117 CALL sptranv(iromb,maxwv,idrti,imaxi,jmaxi,kmax,
118 & iprime,iskipi,jn,js,mdim,kskipi,0,0,jc,
120 & gridui(inp),gridui(isp),gridvi(inp),gridvi(isp),-1)
124 CALL sptgpmv(iromb,maxwv,kmax,mi,mj,mdim,kgskip,niskip,njskip,
125 & rlat1,rlon1,dlat,dlon,wd,wz,um,vm)
130 CALL sptgpm(iromb,maxwv,kmax,mi,mj,mdim,kgskip,niskip,njskip,
131 & rlat1,rlon1,dlat,dlon,wd,dm)
132 CALL sptgpm(iromb,maxwv,kmax,mi,mj,mdim,kgskip,niskip,njskip,
133 & rlat1,rlon1,dlat,dlon,wz,zm)
138 CALL spwget(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)
141 CALL splaplac(iromb,maxwv,enn1,wd(1,k),wd(1,k),-1)
142 CALL splaplac(iromb,maxwv,enn1,wz(1,k),wz(1,k),-1)
146 CALL sptgpm(iromb,maxwv,kmax,mi,mj,mdim,kgskip,niskip,njskip,
147 & rlat1,rlon1,dlat,dlon,wd,pm)
148 CALL sptgpm(iromb,maxwv,kmax,mi,mj,mdim,kgskip,niskip,njskip,
149 & rlat1,rlon1,dlat,dlon,wz,sm)
function ncpus()
Set number of CPUs - the number of processors over which to parallelize.
subroutine splaplac(I, M, ENN1, Q, QD2, IDIR)
Computes the laplacian or the inverse laplacian of a scalar field in spectral space.
subroutine sptgpm(IROMB, MAXWV, KMAX, MI, MJ, KWSKIP, KGSKIP, NISKIP, NJSKIP, RLAT1, RLON1, DLAT, DLON, WAVE, GM)
This subprogram performs a spherical transform from spectral coefficients of scalar quantities to sca...
subroutine sptgpmv(IROMB, MAXWV, KMAX, MI, MJ, KWSKIP, KGSKIP, NISKIP, NJSKIP, RLAT1, RLON1, DLAT, DLON, WAVED, WAVEZ, UM, VM)
This subprogram performs a spherical transform from spectral coefficients of divergences and curls to...
subroutine sptranv(IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, IPRIME, ISKIP, JNSKIP, JSSKIP, KWSKIP, KGSKIP, JBEG, JEND, JCPU, WAVED, WAVEZ, GRIDUN, GRIDUS, GRIDVN, GRIDVS, IDIR)
This subprogram performs a spherical transform between spectral coefficients of divergences and curls...
subroutine sptrunmv(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, MI, MJ, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, RLAT1, RLON1, DLAT, DLON, GRIDUI, GRIDVI, LUV, UM, VM, LDZ, DM, ZM, LPS, PM, SM)
THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTOR FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELDS...
subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)
This subprogram gets wave-space constants.