81 SUBROUTINE sptrungv(IROMB,MAXWV,IDRTI,IMAXI,JMAXI,KMAX,NMAX,
82 & IPRIME,ISKIPI,JSKIPI,KSKIPI,KGSKIP,
83 & NRSKIP,NGSKIP,JCPU,RLAT,RLON,GRIDUI,GRIDVI,
84 & LUV,UP,VP,LDZ,DP,ZP,LPS,PP,SP)
87 REAL RLAT(*),RLON(*),GRIDUI(*),GRIDVI(*)
88 REAL UP(*),VP(*),DP(*),ZP(*),PP(*),SP(*)
89 REAL EPS((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EPSTOP(MAXWV+1)
90 REAL ENN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)
91 REAL ELONN1((MAXWV+1)*((IROMB+1)*MAXWV+2)/2)
92 REAL EON((MAXWV+1)*((IROMB+1)*MAXWV+2)/2),EONTOP(MAXWV+1)
93 REAL WD((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)
94 REAL WZ((MAXWV+1)*((IROMB+1)*MAXWV+2)/2*2+1,KMAX)
98 IF(jc.EQ.0) jc=
ncpus()
99 mx=(maxwv+1)*((iromb+1)*maxwv+2)/2
104 inp=(jmaxi-1)*max(0,-jn)+1
105 isp=(jmaxi-1)*max(0,-js)+1
106 CALL sptranv(iromb,maxwv,idrti,imaxi,jmaxi,kmax,
107 & iprime,iskipi,jn,js,mdim,kskipi,0,0,jc,
109 & gridui(inp),gridui(isp),gridvi(inp),gridvi(isp),-1)
113 CALL sptgptv(iromb,maxwv,kmax,nmax,mdim,kgskip,nrskip,ngskip,
114 & rlat,rlon,wd,wz,up,vp)
119 CALL sptgpt(iromb,maxwv,kmax,nmax,mdim,kgskip,nrskip,ngskip,
121 CALL sptgpt(iromb,maxwv,kmax,nmax,mdim,kgskip,nrskip,ngskip,
127 CALL spwget(iromb,maxwv,eps,epstop,enn1,elonn1,eon,eontop)
130 CALL splaplac(iromb,maxwv,enn1,wd(1,k),wd(1,k),-1)
131 CALL splaplac(iromb,maxwv,enn1,wz(1,k),wz(1,k),-1)
135 CALL sptgpt(iromb,maxwv,kmax,nmax,mdim,kgskip,nrskip,ngskip,
137 CALL sptgpt(iromb,maxwv,kmax,nmax,mdim,kgskip,nrskip,ngskip,
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 sptgpt(IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVE, GP)
This subprogram performs a spherical transform from spectral coefficients of scalar quantities to spe...
subroutine sptgptv(IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVED, WAVEZ, UP, VP)
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 sptrungv(IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NRSKIP, NGSKIP, JCPU, RLAT, RLON, GRIDUI, GRIDVI, LUV, UP, VP, LDZ, DP, ZP, LPS, PP, SP)
THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTORS FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELD...
subroutine spwget(IROMB, MAXWV, EPS, EPSTOP, ENN1, ELONN1, EON, EONTOP)
This subprogram gets wave-space constants.