6subroutine ggamt_3(is,np,vx,vc,wx,wc,dtdg2r)
10integer,
intent(in) :: is,np
11real(8),
intent(inout) :: vx(np),vc(np)
12real(8),
intent(in) :: wx(np),wc(np)
13real(8),
intent(in) :: dtdg2r(np)
17real(8) rfmt1(np),rfmt2(np)
23rfmt1(1:np)=wx(1:np)*dtdg2r(1:np)
24call rfsht(nr,nri,rfmt1,rfmt2)
25call grad2rfmt(nr,nri,
rlmt(:,-1,is),
rlmt(:,-2,is),
wcrmt(:,:,is),rfmt2,rfmt1)
26call rbsht(nr,nri,rfmt1,rfmt2)
27vx(1:np)=vx(1:np)+rfmt2(1:np)
31rfmt1(1:np)=wc(1:np)*dtdg2r(1:np)
32call rfsht(nr,nri,rfmt1,rfmt2)
33call grad2rfmt(nr,nri,
rlmt(:,-1,is),
rlmt(:,-2,is),
wcrmt(:,:,is),rfmt2,rfmt1)
34call rbsht(nr,nri,rfmt1,rfmt2)
35vc(1:np)=vc(1:np)+rfmt2(1:np)
subroutine ggamt_3(is, np, vx, vc, wx, wc, dtdg2r)
integer, dimension(maxspecies) nrmti
real(8), dimension(:,:,:), allocatable wcrmt
integer, dimension(maxspecies) nrmt
real(8), dimension(:,:,:), allocatable rlmt