Definition at line 147 of file w3gig1md.F90.
224 REAL,
INTENT(INOUT) :: E(NSPEC)
225 REAL,
INTENT(IN) :: DEPTH
226 REAL,
INTENT(IN) :: WN(NK)
227 REAL,
INTENT(IN) :: CG(NK)
228 INTEGER,
INTENT(IN) :: IACTION
237 INTEGER :: NKIG,iloc,NSPECIG
238 INTEGER :: i,iIG,IFR,IK,ith,ith1,ith2,itime,I2, ISP1, ISP2, ISP3
239 INTEGER ,
DIMENSION(:,:),
ALLOCATABLE :: ifr2c
241 REAL :: d,deltaf,dfIG,CG2
242 REAL :: WN1,K1,K2,Dkx,Dky,Eadd,thetaIG,memo
244 REAL ,
DIMENSION(:),
ALLOCATABLE :: df,fIG,II,Efmall
245 REAL ,
DIMENSION(:,:),
ALLOCATABLE :: wfr1,Efth
246 REAL ,
DIMENSION(:),
ALLOCATABLE :: EfthIG
247 REAL ,
DIMENSION(:,:,:,:),
ALLOCATABLE :: DD
248 REAL ,
DIMENSION(NSPEC) :: ESPEC
249 CHARACTER(120) ::path,filename,filename2
257 ALLOCATE(wfr1(nkig,
nk))
258 ALLOCATE(ifr2c(nkig,
nk))
259 ALLOCATE(efthig(nspecig))
264 IF (iaction.EQ.0)
THEN
270 espec(isp1)=e(isp1)*
sig(ik)*
tpi / cg(ik)
283 dd(iig,ifr,ith1,ith2)=(df1f2theta(
sig(ifr)+
sig(iig),-
sig(ifr), wn1,wn(ifr), &
284 (abs(
th(ith1)-
th(ith2))+
pi),depth))**2
291 wfr1(iig,ifr)=dble(
dsip(ifr))*
dth
298 if (
sig(iig) < 0.5*
dsip(ifr))
THEN
321 k2=wn(ifr2c(iig,ifr))
327 isp1 = ith1 + (ifr2c(iig,ifr)-1)*
nth
328 isp2 = ith2 + (ifr-1)*
nth
330 eadd=dd(iig,ifr,ith1,ith2)*wfr1(iig,ifr) &
331 *espec(isp1)*espec(isp2)
332 dkx=k2*cos(dble(
dth*ith2))- k1*cos(dble(
dth*ith1))
333 dky=k2*sin(dble(
dth*ith2))- k1*sin(dble(
dth*ith1))
335 thetaig=atan2(dky,dkx)
337 if (thetaig.LT.0) thetaig=2*
pi+thetaig
341 i=minloc(abs(thetaig-
th), 1)-1
343 isp3 = i + (iig-1)*
nth
345 efthig(isp3)= efthig(isp3)+eadd;
354 espec(1:nspecig)=efthig(:)
356 IF (iaction.EQ.0)
THEN
364 e(isp1)=espec(isp1)*cg(ik)/(
sig(ik)*
tpi)
References w3gdatmd::dden, df1f2theta(), w3gdatmd::dsip, w3gdatmd::dth, w3gdatmd::ec2, w3gdatmd::ecos, w3gdatmd::esin, w3gdatmd::gtype, w3gdatmd::igpars, w3gdatmd::iobpd, w3gdatmd::mapth, w3gdatmd::mapwn, w3gdatmd::nk, w3gdatmd::nspec, w3gdatmd::nth, constants::pi, w3gdatmd::sig, w3servmd::strace(), w3gdatmd::th, constants::tpi, w3gdatmd::ungtype, and w3dispmd::wavnu1().
Referenced by w3exnc(), w3outp(), and w3ref1md::w3sref().