16 SUBROUTINE af_phs_read(infile,nlamb,nsd,ilam1,ilam2,isd1,isd2,
17 1 jfunc,jnorm,jrgm,kfunc,irh,iset,xtitle,
18 2 xww,xn1,xn2,xrg,xsig,xnpar,xdx,epar)
20 implicit real *8 (a-h,o-z)
21 include
'afrt_phs.cmn'
23 real*8 xww(nsdt,nw),xn1(nmd,nsdt,nw),xn2(nmd,nsdt,nw),
24 1 xrg(nmd,nsdt,nw),xsig(nmd,nsdt,nw),xnpar(nmd,nsdt,nw),
25 2 xdx(nmd,nsdt,nw),epar(nsdt,npar)
26 integer*4 jfunc(nsdt),jnorm(nsdt),jrgm(nsdt),kfunc(nsdt),
27 1 irh(nsdt),iset(nsdt)
28 integer*4 nlamb,nsd,ilam1,ilam2,isd1,isd2
29 character*80 xtitle(nsdt)
40 len1=
index(infile,
' ')-1
42 open(5, file=infile(1:len1),status=
'old')
55 read(5,28)jfunc(i),kfunc(i)
63 read(5,30)(epar(i,ik),ik=1,6)
66 read(5,30)xww(i,j),xn1(1,i,j),xn2(1,i,j),xdx(1,i,j)
70 read(5,28)jrgm(i),irh(i),iset(i)
76 read(5,30)xww(i,j),xn1(k,i,j),xn2(k,i,j),xrg(k,i,j),
77 1 xsig(k,i,j),xnpar(k,i,j),xdx(k,i,j)
94 40
format(10x,1p7e10.3)
95 50
format(
'jfunc is=',i2,
' max. value allowed is 5')
101 1 jfunc,jnorm,jrgm,kfunc,irh,iset,
102 2 xtitle,xww,xn1,xn2,xrg, xsig,xnpar,xdx,epar,
103 3 ormin,ormax,odelr,odelx,
104 4 or11,or22,or33,or44,oreff,oveff,occnsml,obsr,
105 5 osalb,oasf,oqscat,oqext,oangl,ophfu,opol,ot,othd,
106 6 orbar,odnzp,odnp,odvp,osumnp,owt)
108 implicit real *8 (a-h,o-z)
109 include
'afrt_phs.cmn'
111 integer*4 ailam,aisd,aisd1,aisd2,isd0,jsd,nmsz,asd
112 integer*4 jfunc(nsdt),jnorm(nsdt),jrgm(nsdt),kfunc(nsdt),
113 1 irh(nsdt),iset(nsdt)
114 real*8 xww(nsdt,nw),xn1(nmd,nsdt,nw),xn2(nmd,nsdt,nw),
115 1 xrg(nmd,nsdt,nw),xsig(nmd,nsdt,nw),xnpar(nmd,nsdt,nw),
116 2 xdx(nmd,nsdt,nw),epar(nsdt,npar)
117 real*8 ormin(nmd),ormax(nmd),odelr(nmd),odelx(nmd),
118 1 or11,or22,or33,or44,
119 2 oreff,oveff,occnsml,obsr,
120 3 osalb,oasf,oqscat,oqext,
121 4 oangl(ntf),ophfu(ntf),opol(ntf),
122 5 ot(ntf,nstk),othd(ntf)
123 real*8 orbar(ndr),odnzp(ndr),odnp(ndr),
124 1 odvp(ndr),owt(ndr),osumnp(ndr)
125 character*255 xtitle(nsdt)
127 character*255 xname,outz,tmat,pf,dnr
129 character*2 ciband,crh,cisd,cset
139 asd = mod(isd-1,nmsz) + 1
141 ixwwz=dnint(xww(isd,il)*1.0e3+0.01)
145 call convtc(irh(isd),2,crh)
146 call convtc(iset(isd),2,cset)
147 call convtc(ixwwz,4,cxwwz)
151 xname=
'wl'//cxwwz//
'sd'//cisd//
'rh'//crh//
'_set'//cset//
'.dat'
153 len2=
index(outdir,
' ')-1
154 kx1=
index(xname,
' ')-1
155 outz=outdir(1:len2)//
'/phs_o'//xname(1:kx1)
156 tmat=outdir(1:len2)//
'/phs_t'//xname(1:kx1)
157 pf=outdir(1:len2)//
'/phs_p'//xname(1:kx1)
158 dnr=outdir(1:len2)//
'/phs_dn'//xname(1:kx1)
160 ko1=
index(outz,
' ')-1
161 kt1=
index(tmat,
' ')-1
166 open(unit=7,file=tmat(1:kt1),form=
'formatted',status=
'unknown')
167 open(unit=8,file=pf(1:kp1),form=
'formatted',status=
'unknown')
168 open(unit=4,file=dnr(1:kn1),form=
'formatted',status=
'unknown')
170 call pfunc(il,isd,jfunc,kfunc,jrgm,xtitle,xww,xn1,xn2,
171 1 xrg, xsig,xnpar,xdx,epar,ormin,ormax,odelr,odelx,
172 2 or11,or22,or33,or44, oreff,oveff,occnsml,obsr,
173 3 osalb,oasf,oqscat,oqext, oangl,ophfu,opol,ot,othd,
174 4 orbar,odnzp,odnp,odvp,osumnp,owt)
190 36
format(i5,1pe10.3)
191 40
format(10x,1p7e10.3)
192 50
format(
'jfunc is=',i2,
' max. value allowed is 5')
197 subroutine flbfr(il,isd,ifunc,xrg,xsig,xnpar,epar)
201 implicit real *8 (a-h,o-z)
203 include
'afrt_phs.cmn'
207 real*8 xrg(nmd,nsdt,nw),xsig(nmd,nsdt,nw),xnpar(nmd,nsdt,nw),
216 if(ifunc.ge.3 .and. ifunc.le.5)
then
220 ddd(mm+1)=xrg(i,isd,il)
221 ddd(mm+2)=xsig(i,isd,il)
222 ddd(mm+3)=xnpar(i,isd,il)
231 subroutine pfunc(il,isd,jfunc,kfunc,jrgm,xtitle,xww,xn1,xn2,
232 1 xrg,xsig,xnpar,xdx,epar,ormin,ormax,odelr,odelx,
233 2 or11,or22,or33,or44,oreff,oveff,occnsml,obsr, osalb,oasf,oqscat,
234 3 oqext,oangl,ophfu,opol,ot,othd,orbar,odnzp,odnp,odvp,osumnp,owt)
238 implicit real *8 (a-h,o-z)
240 include
'afrt_phs.cmn'
243 integer*4 jfunc(nsdt),jnorm(nsdt),jrgm(nsdt),kfunc(nsdt),
244 1 irh(nsdt),iset(nsdt)
245 real*8 xlamb,xww(nsdt,nw),xn1(nmd,nsdt,nw),xn2(nmd,nsdt,nw)
246 real*8 xrg(nmd,nsdt,nw),xsig(nmd,nsdt,nw),xnpar(nmd,nsdt,nw),
247 1 xdx(nmd,nsdt,nw),epar(nsdt,npar)
248 real*8 ormin(nmd),ormax(nmd),odelr(nmd),odelx(nmd),
249 1 or11,or22,or33,or44,
250 2 oreff,oveff,occnsml,obsr,
251 3 osalb,oasf,oqscat,oqext,
252 4 oangl(ntf),ophfu(ntf),opol(ntf),
253 5 ot(ntf,nstk),othd(ntf)
254 real*8 orbar(ndr),odnzp(ndr),odnp(ndr),
255 1 odvp(ndr),owt(ndr),osumnp(ndr)
256 character*80 xtitle(nsdt)
269 call flbfr(il,isd,ifunc,xrg,xsig,xnpar,epar)
271 call norz(ifunc,nn,il,isd,irgm,title,xlamb,xn1,xn2,xnpar,xdx,
272 1 orbar,odnzp,odnp,odvp,osumnp,owt)
297 thetd(i+1)=thetd(i)+dthe
309 xxz1=(yyz1*xlamb)/(2.0d0*
pi)
310 xxz2=(yyz2*xlamb)/(2.0d0*
pi)
311 xxz3=(yyz3*xlamb)/(2.0d0*
pi)
321 x=(2.0d0*
pi*rbar(i))/xlamb
325 call dbmie(x,rfr1,rfi1,thetd,jx,qext1,qscat1,ctbrqs,
327 factor=wt1*
pi*rbar(i)**2*1.0e-8
328 qext=qext+qext1*factor
329 qscat=qscat+qscat1*factor
336 if(rbar(i).ge.rmin1 .and. rbar(i).le.rmax1)
then
337 call dbmie(x,rfr1,rfi1,thetd,jx,qext1,qscat1,ctbrqs,
339 factor=wt1*
pi*rbar(i)**2*1.0e-8
340 qext=qext+qext1*factor
341 qscat=qscat+qscat1*factor
344 if(rbar(i).ge.rmin2 .and. rbar(i).le.rmax2)
then
345 call dbmie(x,rfr2,rfi2,thetd,jx,qext1,qscat1,ctbrqs,
347 factor=wt2*
pi*rbar(i)**2*1.0e-8
348 qext=qext+qext1*factor
349 qscat=qscat+qscat1*factor
358 if(rbar(i).ge.rmin1 .and. rbar(i).le.rmax1)
then
359 call dbmie(x,rfr1,rfi1,thetd,jx,qext1,qscat1,ctbrqs,
361 factor=wt1*
pi*rbar(i)**2*1.0e-8
362 qext=qext+qext1*factor
363 qscat=qscat+qscat1*factor
366 if(rbar(i).ge.rmin2 .and. rbar(i).le.rmax2)
then
367 call dbmie(x,rfr2,rfi2,thetd,jx,qext1,qscat1,ctbrqs,
369 factor=wt2*
pi*rbar(i)**2*1.0e-8
370 qext=qext+qext1*factor
371 qscat=qscat+qscat1*factor
374 if(rbar(i).ge.rmin3 .and. rbar(i).le.rmax3)
then
375 call dbmie(x,rfr3,rfi3,thetd,jx,qext1,qscat1,ctbrqs,
377 factor=wt3*
pi*rbar(i)**2*1.0e-8
378 qext=qext+qext1*factor
379 qscat=qscat+qscat1*factor
386 const=((alambd**2)/(4.0*
pi**2*qscat)) * 4.0*
pi
388 rr(i,1)=t(i,1) *
const
389 rr(i,2)=t(i,2) *
const
390 rr(i,3)=t(i,3) *
const
391 rr(i,4)=t(i,4) *
const
392 if(i .le. jx) xx=thetd(i)
393 if(i .gt. jx) xx=180.0d0-thetd(1801-i+1)
397 angl(i) = dfloat(i-1)/10.0d0
398 if(i .le. jx) xx=(thetd(i)*
pi)/180.0d0
399 if(i .gt. jx) xx=((180.0d0-thetd(1801-i+1))*
pi)/180.0d0
401 rr(i,1)=
const*(t(i,1)+t(i,2)*y**2+2.0d0*t(i,3)*y)
402 rr(i,2)=
const*(t(i,2)+t(i,1)*y**2+2.0d0*t(i,3)*y)
403 rr(i,3)=
const*((t(i,1)+t(i,2))*y+t(i,3)*(1.0d0+y**2))
404 rr(i,4)=
const*(1.d0-y**2)*t(i,4)
405 phfu(i)=(rr(i,1)+rr(i,2))/2.0
406 pol(i)=(rr(i,2)-rr(i,1))/(rr(i,1)+rr(i,2))
416 goto(170,172,174,176,178),ifunc
419 write(8,249)ifunc,mfunc
420 write(8,251)xlamb,rfr1,rfi1
421 write(8,252)ddd(10),ddd(11)
422 write(8,253)xxz1,yyz1
423 write(8,270)ddd(1),ddd(2),ddd(3)
425 write(7,249)ifunc,mfunc
426 write(7,251)xlamb,rfr1,rfi1
427 write(7,252)ddd(10),ddd(11)
428 write(7,253)xxz1,yyz1
429 write(7,270)ddd(1),ddd(2),ddd(3)
433 write(8,249)ifunc,mfunc
434 write(8,251)xlamb,rfr1,rfi1
435 write(8,252)ddd(10),ddd(11)
436 write(8,253)xxz1,yyz1
437 write(8,272)ddd(1),ddd(2),ddd(3),ddd(4)
439 write(7,249)ifunc,mfunc
440 write(7,251)xlamb,rfr1,rfi1
441 write(7,252)ddd(10),ddd(11)
442 write(7,253)xxz1,yyz1
443 write(7,272)ddd(1),ddd(2),ddd(3),ddd(4)
447 write(8,249)ifunc,mfunc
448 write(8,251)xlamb,rfr1,rfi1
449 write(8,252)ddd(10),ddd(11)
450 write(8,253)xxz1,yyz1
452 write(8,275)ddd(1),ddd(2),ddd(3)
454 write(8,274)ddd(1),ddd(2),ddd(3)
457 write(7,249)ifunc,mfunc
458 write(7,251)xlamb,rfr1,rfi1
459 write(7,252)ddd(10),ddd(11)
460 write(7,253)xxz1,yyz1
462 write(7,275)ddd(1),ddd(2),ddd(3)
464 write(7,274)ddd(1),ddd(2),ddd(3)
469 write(8,249)ifunc,mfunc
470 write(8,254)xlamb,rfr1,rfi1,rfr2,rfi2
471 write(8,255)rmin1,rmax1,rmin2,rmax2
472 write(8,256)xxz1,yyz1,xxz2,yyz2
474 write(8,277)ddd(1),ddd(2),ddd(3),ddd(4),ddd(5),ddd(6)
476 write(8,276)ddd(1),ddd(2),ddd(3),ddd(4),ddd(5),ddd(6)
479 write(7,249)ifunc,mfunc
480 write(7,254)xlamb,rfr1,rfi1,rfr2,rfi2
481 write(7,255)rmin1,rmax1,rmin2,rmax2
482 write(7,256)xxz1,yyz1,xxz2,yyz2
484 write(7,277)ddd(1),ddd(2),ddd(3),ddd(4),ddd(5),ddd(6)
486 write(7,276)ddd(1),ddd(2),ddd(3),ddd(4),ddd(5),ddd(6)
491 write(8,249)ifunc,mfunc
492 write(8,257)xlamb,rfr1,rfi1,rfr2,rfi2,rfr3,rfi3
493 write(8,258)rmin1,rmax1,rmin2,rmax2,rmin3,rmax3
494 write(8,259)xxz1,yyz1,xxz2,yyz2,xxz3,yyz3
496 write(8,279)ddd(1),ddd(2),ddd(3),ddd(4),ddd(5),ddd(6),
497 1 ddd(7),ddd(8),ddd(9)
499 write(8,278)ddd(1),ddd(2),ddd(3),ddd(4),ddd(5),ddd(6),
500 1 ddd(7),ddd(8),ddd(9)
503 write(7,249)ifunc,mfunc
504 write(7,257)xlamb,rfr1,rfi1,rfr2,rfi2,rfr3,rfi3
505 write(7,258)rmin1,rmax1,rmin2,rmax2,rmin3,rmax3
506 write(7,259)xxz1,yyz1,xxz2,yyz2,xxz3,yyz3
508 write(7,279)ddd(1),ddd(2),ddd(3),ddd(4),ddd(5),ddd(6),
509 1 ddd(7),ddd(8),ddd(9)
511 write(7,278)ddd(1),ddd(2),ddd(3),ddd(4),ddd(5),ddd(6),
512 1 ddd(7),ddd(8),ddd(9)
515 write(8,281)r11,r22,r33,r44,reff,veff
516 write(8,280)ccnsml,bsr,salb,asf,qscat,qext
517 write(7,281)r11,r22,r33,r44,reff,veff
518 write(7,280)ccnsml,bsr,salb,asf,qscat,qext
545 write(8,49)
angl(i),phfu(i),pol(i)
546 write(7,47) (t(i,k),k=1,4),
angl(i)
558 47
format(1p,2d18.12,1p,2d19.12,0p,f6.2)
559 49
format(f5.1,1p,2e15.5)
560 249
format(t2,
'ifunc',t16,
'ifunc_sub'/i5,11x,i5)
561 251
format(t2,
'wavelength',t16,
'refr',t27,
'refi'/1p3e11.3)
562 252
format(t5,
'rmin',t16,
'rmax',t24/1p2e11.3)
563 253
format(t4,
'deltar',t15,
'deltax'/1p2e11.3)
566 254
format(t2,
'wavelength',t16,
'refr1',t27,
'refi1',t38,
'refr2',
567 1 t49,
'refi2'/1p5e11.4)
568 255
format(t5,
'rmin1',t16,
'rmax1',t27,
'rmin2',t38,
'rmax2'/
570 256
format(t4,
'deltar1',t15,
'deltax1',t26,
'deltar2',
571 1 t37,
'deltax2'/1p4e11.3)
572 257
format(t2,
'wavelength',t15,
'refr1',t26,
'refi1',t27,
'refr2',
573 1 t38,
'refi2',t49,
'refr3',t60,
'refi3'/1p7e11.3)
574 258
format(t5,
'rmin1',t16,
'rmax1',t27,
'rmin2',t38,
'rmax2't49,
'rmin3',
575 1 t60,
'rmax3',t68/1p6e11.3)
576 259
format(t4,
'deltar1',t15,
'deltax1',t26,
'deltar2',t37,
'deltax2',
577 1 t48,
'deltar3',t59,
'deltax3'/1p6e11.3)
579 271
format(t2,
'wavelength',t16,
'refr',t27,
'refi't38,
'rmin',
580 1 t49,
'rmax',t51,
'deltar',t62,
'deltax'/1p7e11.3)
581 270
format(t5,
'rc',t16,
'c',t27,
'nu'/1p3e11.3)
582 272
format(t5,
'aa',t16,
'b',t27,
'alfa',t38,
'gama'/1p4e11.3)
583 274
format(t5,
'rg1',t16,
'sig1',t27,
'num1'/1p3e11.3)
584 275
format(t5,
'rg1',t15,
'sig1(ln)',t27,
'num1'/1p3e11.3)
585 276
format(t5,
'rg1't16,
'sig1',t27,
'num1',t38,
'rg2',
586 1 t49,
'sig2',t61,
'num2'/1p6e11.3)
587 277
format(t5,
'rg1't15,
'sig1(ln)',t27,
'num1',t38,
'rg2',
588 1 t48,
'sig2(ln)',t61,
'num2'/1p6e11.3)
589 278
format(t3,
'rg1',t11,
'sig1',t19,
'num1',t27,
'rg2',t35,
'sig2',
590 1 t43,
'num2',t51,
'rg3',t59,
'sig3',t67,
'num3'/9f8.5)
591 279
format(t3,
'rg1',t10,
'sig1(ln)',t19,
'num1',t27,
'rg2',
592 1 t34,
'sig2(ln)',t43,
'num2',t51,
'rg3',t58,
'sig3(ln)',
594 280
format(t4,
'ccnsml',t16,
'bsr',t27,
'salb',t38,
'asf',
595 1 t49,
'qscat',t61,
'qext'/1p4e11.3,1p2e12.4)
596 281
format(t5,
'r11',t16,
'r22',t27,
'r33',t38,
'r44',
597 1 t49,
'reff't60,
'veff'/1p6e11.3)
598 282
format(t3,
'angle',t11,
'phs_func',t26,
'deg_pol')
604 subroutine norz(ifunc,nn,il,isd,irgm,title,xlamb,xn1,xn2,xnpar,xdx,
605 1 orbar,odnzp,odnp,odvp,osumnp,owt)
614 implicit real *8 (a-h,o-z)
616 include
'afrt_phs.cmn'
620 real*8 xlamb,xn1(nmd,nsdt,nw),xn2(nmd,nsdt,nw),
621 1 xdx(nmd,nsdt,nw),xnpar(nmd,nsdt,nw),
622 2 orbar(ndr),odnzp(ndr),odnp(ndr),
623 3 odvp(ndr),owt(ndr),osumnp(ndr)
632 goto(25,30,35,40,45),ifunc
641 if(rmax.gt.ddd(15))rmax=ddd(15)
647 write(4,710)xlamb,ddd(10),ddd(11)
648 write(4,712)refr1,refi1
649 write(4,720)ddd(1),ddd(2),ddd(3)
660 if(rmax.gt.ddd(15))rmax=ddd(15)
666 write(4,710)xlamb,ddd(10),ddd(11)
667 write(4,712)refr1,refi1
668 write(4,730)ddd(1),ddd(2),ddd(3),ddd(4)
680 rmin1=dexp(dlog(rm1)-4.0d0*sig11)
681 if(rmin1 .lt. 0.00d0)rmin1=0.00d0
682 rmax1=dexp(dlog(rm1)+4.0d0*sig11)
683 if(rmax1.gt.ddd(15))rmax1=ddd(15)
689 write(4,710)xlamb,ddd(10),ddd(11)
690 write(4,712)refr1,refi1
692 write(4,741)ddd(1),ddd(2),ddd(3)
694 write(4,740)ddd(1),ddd(2),ddd(3)
713 rmin1=dexp(dlog(rm1)-4.0d0*sig11)
714 rmax1=dexp(dlog(rm1)+4.0d0*sig11)
715 if(rmin1 .lt. 0.0d0)rmin=0.0d0
716 rmin2=dexp(dlog(rm2)-4.0d0*sig21)
717 rmax2=dexp(dlog(rm2)+4.0d0*sig21)
718 if(rmax1.gt.ddd(15))rmax1=ddd(15)
719 if(rmax2.gt.ddd(15))rmax2=ddd(15)
725 write(4,710)xlamb,ddd(10),ddd(11)
726 write(4,714)refr1,refi1,refr2,refi2
728 write(4,751)ddd(1),ddd(2),ddd(3),ddd(4),ddd(5),ddd(6)
730 write(4,750)ddd(1),ddd(2),ddd(3),ddd(4),ddd(5),ddd(6)
755 rmin1=dexp(dlog(rm1)-4.0d0*sig11)
756 rmax1=dexp(dlog(rm1)+4.0d0*sig11)
757 if(rmin1 .lt. 0.0d0)rmin=0.0d0
758 rmin2=dexp(dlog(rm2)-4.0d0*sig21)
759 rmax2=dexp(dlog(rm2)+4.0d0*sig21)
760 rmin3=dexp(dlog(rm3)-4.0d0*sig31)
761 rmax3=dexp(dlog(rm3)+4.0d0*sig31)
762 if(rmax1.gt.ddd(15))rmax1=ddd(15)
763 if(rmax2.gt.ddd(15))rmax2=ddd(15)
764 if(rmax3.gt.ddd(15))rmax3=ddd(15)
770 write(4,710)xlamb,ddd(10),ddd(11)
771 write(4,716)refr1,refi1,refr2,refi2,refr3,refi3
773 write(4,760)ddd(1),ddd(2),ddd(3),ddd(4),ddd(5),ddd(6),
774 1 ddd(7),ddd(8),ddd(9)
776 write(4,760)ddd(1),ddd(2),ddd(3),ddd(4),ddd(5),ddd(6),
777 1 ddd(7),ddd(8),ddd(9)
782 if(ifunc .gt. 1)
goto 53
783 delr=(xlamb*xdx(1,isd,il))/(2.0d0*
pi)
784 n1=(
rc-rmin)/delr+1.0d0
785 n2=(rmax-
rc)/delr+1.0d0
786 xx1=(
rc-rmin)/dfloat(n1)
787 xx2=(rmax-
rc)/dfloat(n2)
793 r(i+1+n1)=r(i+n1)+xx2
801 delr=(xlamb*xdx(1,isd,il))/(2.0d0*
pi)
802 nn=(rmax-rmin)/delr+1.0d0
803 xxx=(rmax-rmin)/dfloat(nn)
807 delr1=(xlamb*xdx(1,isd,il))/(2.0d0*
pi)
808 delr2=(xlamb*xdx(2,isd,il))/(2.0d0*
pi)
809 nn1=(rmax1-rmin1)/delr1+1.0d0
810 xxx1=(rmax1-rmin1)/dfloat(nn1)
811 nn2=(rmax2-rmax1)/delr2+1.0d0
812 xxx2=(rmax2-rmax1)/dfloat(nn2)
814 if (nn .gt. ndr)
then
815 write(*,*)
'Increase ndr dimension in phs common, or decrease delx'
820 delr1=(xlamb*xdx(1,isd,il))/(2.0d0*
pi)
821 delr2=(xlamb*xdx(2,isd,il))/(2.0d0*
pi)
822 delr3=(xlamb*xdx(3,isd,il))/(2.0d0*
pi)
823 nn1=(rmax1-rmin1)/delr1+1.0d0
824 xxx1=(rmax1-rmin1)/dfloat(nn1)
825 nn2=(rmax2-rmax1)/delr2+1.0d0
826 xxx2=(rmax2-rmax1)/dfloat(nn2)
827 nn3=(rmax3-rmax2)/delr3+1.0d0
828 xxx3=(rmax3-rmax2)/dfloat(nn3)
836 if(r(i+1).gt.ddd(15))
goto 56
844 if(r(i+1).gt.ddd(15))
goto 56
853 if(r(i+1).gt.ddd(15))
goto 56
861 goto(60,65,70,75,77),ifunc
866 rbar(i)=(r(i+1)+r(i) )/2.0d0
868 if(r(i+1) .gt.
rc)
goto 62
872 sumn1(i+1)=sumn1(i)+wt(i)
875 dn1(i)=c*(
rc/rbar(i))**(xnu+1)
876 dnz1(i)=c*rbar(i)*(
rc/rbar(i))**(xnu+1)
878 sumn1(i+1)=sumn1(i)+wt(i)
880 write(4,118)i,rbar(i),dnz1(i),dn1(i),wt(i),sumn1(i)
892 rbar(i)=(r(i+1)+r(i) )/2.0d0
894 dn1(i)=a*rbar(i)**alfa*dexp(-b*rbar(i)**gama )
895 dnz1(i)=rbar(i)*dn1(i)
897 sumn1(i+1)=sumn1(i)+wt(i)
898 write(4,118)i,rbar(i),dnz1(i),dn1(i),wt(i),sumn1(i)
910 rbar(i)=(r(i+1)+r(i) )/2.0d0
920 consr1=par1*1.0d0/(dsqrt(2.0d0*
pi)*xsig11)
921 dnz1(i)=consr1*dexp(-0.5d0*((xlgr-xlgrm1)/xsig11)**2)
922 dv1(i)=(4.0d0/3.0d0)*
pi*rbar(i)**3*dnz1(i)
923 dn1(i)=(dnz1(i)/rbar(i))
925 sumn1(i+1)=sumn1(i)+wt(i)
928 write(4,118)i,rbar(i),dnz1(i),dn1(i),dv1(i),wt(i),sumn1(i)
945 rbar(i)=(r(i+1)+r(i) )/2.0d0
957 consr1=1.0d0/(dsqrt(2.0d0*
pi)*xsig11)
958 consr2=1.0d0/(dsqrt(2.0d0*
pi)*xsig21)
959 dnz1(i)=consr1*dexp(-0.5d0*((xlgr-xlgrm1)/xsig11)**2)
960 dnz2(i)=consr2*dexp(-0.5d0*((xlgr-xlgrm2)/xsig21)**2)
961 dn1(i)=dnz1(i)/rbar(i)
962 dn2(i)=dnz2(i)/rbar(i)
963 dv1(i)=(4.0d0/3.0d0)*
pi*rbar(i)**3*dnz1(i)
964 dv2(i)=(4.0d0/3.0d0)*
pi*rbar(i)**3*dnz2(i)
970 dnzp(i)=dnz1(i)+dnz2(i)
971 dvp(i)=par1*dv1(i)+par2*dv2(i)
972 wt(i)=dn1(i)*xxx+dn2(i)*xxx
973 sumn1(i+1)=sumn1(i)+dn1(i)*xxx
974 sumn2(i+1)=sumn2(i)+dn2(i)*xxx
975 sumnp(i+1)=sumn1(i+1)+sumn2(i+1)
976 write(4,121)i,rbar(i),dnzp(i),dnp(i),dvp(i),wt(i),sumnp(i)
995 rbar(i)=(r(i+1)+r(i) )/2.0d0
1010 consr1=par1/(dsqrt(2.0d0*
pi)*xsig11)
1011 consr2=par2/(dsqrt(2.0d0*
pi)*xsig21)
1012 consr3=par3/(dsqrt(2.0d0*
pi)*xsig31)
1013 dnz1(i)=consr1*dexp(-0.5d0*((xlgr-xlgrm1)/xsig11)**2)
1014 dnz2(i)=consr2*dexp(-0.5d0*((xlgr-xlgrm2)/xsig21)**2)
1015 dnz3(i)=consr3*dexp(-0.5d0*((xlgr-xlgrm3)/xsig31)**2)
1016 dnzp(i)=dnz1(i)+dnz2(i)+dnz3(i)
1017 dv1(i)=par1*(4.0d0/3.0d0)*
pi*rbar(i)**3*dnz1(i)
1018 dv2(i)=par2*(4.0d0/3.0d0)*
pi*rbar(i)**3*dnz2(i)
1019 dv3(i)=par3*(4.0d0/3.0d0)*
pi*rbar(i)**3*dnz3(i)
1020 dvp(i)=dv1(i)+dv2(i)+dv3(i)
1021 dn1(i)=(dnz1(i)/rbar(i))
1022 dn2(i)=(dnz2(i)/rbar(i))
1023 dn3(i)=(dnz3(i)/rbar(i))
1024 dnp(i)=dn1(i)+dn2(i)+dn3(i)
1025 wt(i)=dn1(i)*xxx+dn2(i)*xxx+dn3(i)*xxx
1026 sumn1(i+1)=sumn1(i)+dn1(i)*xxx
1027 sumn2(i+1)=sumn2(i)+dn2(i)*xxx
1028 sumn3(i+1)=sumn3(i)+dn3(i)*xxx
1029 sumnp(i+1)=sumn1(i+1)+sumn2(i+1)+sumn3(i+1)
1030 write(4,123)i,rbar(i),dnzp(i),dnp(i),dvp(i),wt(i),sumnp(i)
1036 osumnp(i) = sumnp(i)
1041 118
format(i4,1x,1p6e11.3)
1042 121
format(i4,1x,1p6e11.3)
1043 123
format(i4,1x,1p6e11.3)
1045 710
format(t4,
'lambda',t16,
'rmin',t27,
'rmax'/1p3e11.3)
1046 712
format(t5,
'refr1',t16,
'refi1'/1p2e11.3)
1047 714
format(t5,
'refr1',t16,
'refi1',t27,
'refr2',t38,
'refi2'/
1048 1 1p2e11.3,1x,1p2e11.3)
1049 716
format(t5,
'refr1',t16,
'refi1',t27,
'refr2',t38,
'refi2',t49,
'refr3',
1050 1 t60,
'refi3'/1p2e11.3,1x,1p2e11.3,1x,1p2e11.3)
1051 720
format(t5,
'rc',t16,
'c',t27,
'nu_star'/1p3e11.3)
1052 730
format(t5,
'aa',t16,
'b',t27,
'alfa',t38,
'gama'/1p4e11.3)
1053 740
format(t5,
'rg1',t16,
'sig1',t27,
'num1'/1p3e11.3)
1054 741
format(t5,
'rg1',t15,
'sig1(ln)',t27,
'num1'/1p3e11.3)
1055 750
format(t5,
'rg1',t16,
'sig1',t27,
'num1',t38,
'rg2',t49,
'sig2',t60,
1057 751
format(t5,
'rg1',t15,
'sig1(ln)',t27,
'num1',t38,
'rg2',t48,
1058 1
'sig2(ln)',t60,
'num2'/1p6e11.3)
1059 760
format(t4,
'rg1',t12,
'sig1',t20,
'num1',t28,
'rg2',t36,
'sig2',
1060 1 t44,
'num2',t52,
'rg3',t60,
'sig3',t68,
'num3'/9f8.5)
1061 761
format(t4,
'rg1',t11,
'sig1(ln)',t20,
'num1',t28,
'rg2',t35,
1062 1
'sig2(ln)'t44,
'num2',t52,
'rg3',t59,
'sig3(ln)',
1064 800
format(t2,
'num',t10,
'rbar',t21,
'dnz',t32,
'dn',t43,
'wt',
1066 810
format(t3,
'num',t10,
'rbar',t19,
'dn/dlogr',t32,
'dn/dr',t43,
'wt',
1068 820
format(t3,
'num',t10,
'rbar',t19,
'dn/dlogr',t32,
'dn/dr',
1069 1 t41,
'dv/dlogr',t54,
'wt',t64,
'tot_num')
1070 830
format(t3,
'num',t10,
'rbar',t19,
'dn/dlogr',t32,
'dn/dr',
1071 1 t41,
'dv/dlogr',t54,
'wt',t64,
'tot_num')
1072 840
format(t3,
'num',t10,
'rbar',t19,
'dn/dlogr',t32,
'dn/dr',
1073 1 t41,
'dv/dlogr',t54,
'wt',t64,
'tot_num')
1078 subroutine ccn(ifunc,irgm)
1084 implicit real*8 (a-h,o-z)
1085 include
'afrt_phs.cmn'
1097 aa=(dlog(r0/rg))/(sigln*dsqrt(2.0d0))
1099 ccnsml=0.5d0*(1.0d0-erfa1)
1106 subroutine dbmie (x,rfr,rfi,thetd,jx,qext,qscat,ctbrqs,eltrmx,
1138 implicit real * 8 (a-h,o-z)
1139 real*8 x,rx,rfr,rfi,qext,qscat,t(5),ta(4),tb(2),tc(2)
1140 real*8 td(2),te(2),ctbrqs
1142 real*8 eltrmx(4,1000,2),
pi(3,1000),tau(3,1000),cstht(1000),
1143 1 si2tht(1000),thetd(1000)
1144 complex*16 rf,rrf,rrfx,wm1,fna,fnb,tc1,tc2,wfn(2),acap(7000)
1145 complex*16 fnap,fnbp
1153 real * 8 tt(1801,4),den,az,bz,rt1,rt2,rt3,rt4
1155 equivalence(fnap, td(1)), (fnbp, te(1))
1157 if ( jx .ge. 1001 )
then
1166 t(1)=(x**2)*(rfr**2+rfi**2)
1168 nmx1 = 1.10d0 * t(1)
1169 if (nmx1 .ge. 7000)
then
1174 if (nmx1 .le. 150)
then
1178 acap(nmx1 + 1 ) = ( 0.0d0, 0.0d0 )
1181 acap(nn) = (nn+1)*rrfx-1.0d0/((nn+1)*rrfx+acap(nn+1))
1184 if ( thetd(j) .lt. 0.0d0 ) thetd(j) = dabs(thetd(j))
1185 if ( thetd(j) .le. 0.0d0 )
then
1188 else if (thetd(j) .lt. 90.0d0 )
then
1189 t(1) = (3.1415926535897932d0*thetd(j))/180.0d0
1190 cstht(j) = dcos(t(1))
1191 si2tht(j) = 1.0d0 - cstht(j)**2
1192 else if ( thetd(j) .eq. 90.0d0 )
then
1196 write (6, 5) thetd(j)
1207 tau(2, j) = cstht(j)
1211 wm1 = dcmplx(t(1),-t(2))
1212 wfn(1) = dcmplx(t(2),t(1))
1213 wfn(2) = rx * wfn(1)-wm1
1214 tc1 = acap(1)*rrf+rx
1216 fna = (tc1*ta(3)-ta(1))/(tc1*wfn(2)-wfn(1))
1217 fnb = (tc2*ta(3)-ta(1))/(tc2*wfn(2)-wfn(1))
1227 if(cstht(j).ne.1.)
then
1228 eltrmx(1,j,1)=tc(1)*
pi(2,j)+tb(1)*tau(2,j)
1229 eltrmx(2,j,1)=tc(2)*
pi(2,j)+tb(2)*tau(2,j)
1230 eltrmx(3,j,1)=tb(1)*
pi(2,j)+tc(1)*tau(2,j)
1231 eltrmx(4,j,1)=tb(2)*
pi(2,j)+tc(2)*tau(2,j)
1232 eltrmx(1,j,2)=tc(1)*
pi(2,j)-tb(1)*tau(2,j)
1233 eltrmx(2,j,2)=tc(2)*
pi(2,j)-tb(2)*tau(2,j)
1234 eltrmx(3,j,2)=tb(1)*
pi(2,j)-tc(1)*tau(2,j)
1235 eltrmx(4,j,2)=tb(2)*
pi(2,j)-tc(2)*tau(2,j)
1237 eltrmx(1,j,1)=pip(2,j)*(tc(1)-tb(1))-
pi(2,j)*tb(1)
1238 eltrmx(2,j,1)=pip(2,j)*(tc(2)-tb(2))-
pi(2,j)*tb(2)
1239 eltrmx(3,j,1)=pip(2,j)*(tb(1)-tc(1))-
pi(2,j)*tc(1)
1240 eltrmx(4,j,1)=pip(2,j)*(tb(2)-tc(2))-
pi(2,j)*tc(2)
1241 eltrmx(1,j,2)=pip(2,j)*(tc(1)+tb(1))-
pi(2,j)*tb(1)
1242 eltrmx(2,j,2)=pip(2,j)*(tc(2)+tb(2))-
pi(2,j)*tb(2)
1243 eltrmx(3,j,2)=pip(2,j)*(tc(1)+tb(1))-
pi(2,j)*tc(1)
1244 eltrmx(4,j,2)=pip(2,j)*(tc(2)+tb(2))-
pi(2,j)*tc(2)
1248 qext = 2.0d0 * ( tb(1) + tc(1))
1249 qscat =(tb(1)**2 + tb(2)**2 + tc(1)**2 + tc(2)**2)/0.75d0
1256 pi(3,j)=(t(1)*
pi(2,j)*cstht(j)-n*
pi(1,j))/t(2)
1257 tau(3,j)=cstht(j)*(
pi(3,j)-
pi(1,j))-t(1)*si2tht(j)*
pi(2,j)+tau(
1258 pip(3,j)=t(1)*
pi(2,j)+pip(1,j)
1262 wfn(2) = t(1)*rx*wfn(1) - wm1
1263 tc1 = acap(n)*rrf+n*rx
1264 tc2 = acap(n)*rf+n*rx
1265 fna = (tc1*ta(3)-ta(1))/(tc1*wfn(2)-wfn(1))
1266 fnb = (tc2*ta(3)-ta(1))/(tc2*wfn(2)-wfn(1))
1268 t(4) = t(1)/(t(5)*t(2))
1269 t(2) = (t(2)*(t(5) + 1.0d0))/t(5)
1270 ctbrqs = ctbrqs+t(2)*(td(1)*tb(1)+td(2)*tb(2)+te(1)*
1271 1 tc(1)+te(2)*tc(2))+t(4)*(td(1)*te(1)+td(2)*te(2))
1272 qext = qext+t(3)*(tb(1)+tc(1))
1273 t(4) = tb(1)**2 + tb(2)**2 + tc(1)**2 + tc(2)**2
1274 qscat = qscat+t(3)*t(4)
1279 if(cstht(j).ne.1.)
then
1280 eltrmx(1,j,1)=eltrmx(1,j,1)+t(1)*(tc(1)*
pi(3,j)+tb(1)*tau(3,j
1281 eltrmx(2,j,1)=eltrmx(2,j,1)+t(1)*(tc(2)*
pi(3,j)+tb(2)*tau(3,j
1282 eltrmx(3,j,1)=eltrmx(3,j,1)+t(1)*(tb(1)*
pi(3,j)+tc(1)*tau(3,j
1283 eltrmx(4,j,1)=eltrmx(4,j,1)+t(1)*(tb(2)*
pi(3,j)+tc(2)*tau(3,j
1286 eltrmx(1,j,2)=eltrmx(1,j,2)+t(1)*az*(tc(1)*
pi(3,j)-tb(1)*tau
1287 eltrmx(2,j,2)=eltrmx(2,j,2)+t(1)*az*(tc(2)*
pi(3,j)-tb(2)*tau
1288 eltrmx(3,j,2)=eltrmx(3,j,2)+t(1)*az*(tb(1)*
pi(3,j)-tc(1)*tau
1289 eltrmx(4,j,2)=eltrmx(4,j,2)+t(1)*az*(tb(2)*
pi(3,j)-tc(2)*tau
1291 eltrmx(1,j,1)=eltrmx(1,j,1)+t(1)*(pip(3,j)*(tc(1)-tb(1))-
pi(
1293 eltrmx(2,j,1)=eltrmx(2,j,1)+t(1)*(pip(3,j)*(tc(2)-tb(2))-
pi(
1295 eltrmx(3,j,1)=eltrmx(3,j,1)+t(1)*(pip(3,j)*(tb(1)-tc(1))-
pi(
1297 eltrmx(4,j,1)=eltrmx(4,j,1)+t(1)*(pip(3,j)*(tb(2)-tc(2))-
pi(
1305 eltrmx(1,j,2)=eltrmx(1,j,2)+t(1)*(az*pip(3,j)*(tc(1)+tb(1))-bz
1307 eltrmx(2,j,2)=eltrmx(2,j,2)+t(1)*(az*pip(3,j)*(tc(2)+tb(2))-bz
1309 eltrmx(3,j,2)=eltrmx(3,j,2)+t(1)*(az*pip(3,j)*(tc(1)+tb(1))-bz
1311 eltrmx(4,j,2)=eltrmx(4,j,2)+t(1)*(az*pip(3,j)*(tc(2)+tb(2))-bz
1315 if( t(4) .ge. 1.0d-14 )
then
1320 tau(1, j) = tau(2, j)
1321 tau(2, j) = tau(3, j)
1327 if (n .le. nmx2)
go to 65
1338 if(cstht(j).ne.1.)
then
1341 rt3=(t(3)-az*cstht(j)*t(1))/den
1342 rt4=(t(4)-az*cstht(j)*t(2))/den
1343 rt1=(t(1)-az*cstht(j)*t(3))/den
1344 rt2=(t(2)-az*cstht(j)*t(4))/den
1351 if(k.eq.2) m = 1802-m
1352 if(k.ne.2.or.m.ne.901 )
then
1353 tt(m,1) = tt(m,1)+(rt1**2+rt2**2)*wat
1354 tt(m,2) = tt(m,2)+(rt3**2+rt4**2)*wat
1355 tt(m,3) = tt(m,3)+(rt1*rt3+rt2*rt4)*wat
1356 tt(m,4) = tt(m,4)+(rt1*rt4-rt2*rt3)*wat
1360 t(1) = 2.0d0 * rx**2
1362 qscat = qscat * t(1)
1363 ctbrqs = 2.0d0 * ctbrqs * t(1)
1366 5
format(10x
' the value of the scattering angle is greater than 90.0
1367 $ degrees. it is ',e15.4)
1368 6
format(//10x,
' please read the comments'//)
1369 7
format(//10x,
' the value of the argument jx is greater the 1000')
1370 8
format(//10x,
'the upper limit for acap is not enough. suggest get
1371 1detailed output and modify subroutine'//)
1375 subroutine asym(x,y,f,bsr)
1384 implicit real*8 (a-h,o-z)
1386 real*8 xmu(m),dxmu(m),xy(m),xb(m)
1392 xmu(i)=cos(x(i)*conv)
1397 xb(i)=dacos(xmu(i))*y(i)
1402 dxmu(i)=dabs(xmu(i)-xmu(i+1))
1409 sumn=sumn+0.5d0*(xy(i)+xy(i+1))*dxmu(i)
1410 sumd=sumd+0.5d0*(y(i)+y(i+1))*dxmu(i)
1411 sumb=sumb+0.5d0*(xb(i)+xb(i+1))*dxmu(i)
1417 bsr=(2.0d0*sumb)/xden
1420 100
format(
'asym sumn,sumd,sumb,xnum,xden,f,bsr',1p7e11.3)
1427 implicit real*8 (a-h,o-z)
1437 implicit real*8 (a-h,o-z)
1438 if(x.lt.0.d0.or.a.le.0.d0) stop
1440 call gser(gamser,a,x,gln)
1443 call gcf(gammcf,a,x,gln)
1449 subroutine gser(gamser,a,x,gln)
1450 implicit real*8 (a-h,o-z)
1465 if(dabs(del).lt.dabs(sum)*eps)
go to 1
1467 stop
'a too large, itmax too small'
1468 1 gamser=sum*dexp(-x+a*dlog(x)-gln)
1472 subroutine gcf(gammcf,a,x,gln)
1473 implicit real*8 (a-h,o-z)
1493 if(dabs((g-gold)/g).lt.eps)
go to 1
1497 stop
'a too large, itmax too small'
1499 gammcf=dexp(-x+a*dlog(x)-gln)*g
1504 implicit real*8 (a-h,o-z)
1505 real*8 cof(6),stp,half,one,fpf,x,tmp,ser
1506 data cof,stp/76.18009173d0,-86.50532033d0,24.01409822d0,
1507 * -1.231739516d0,.120858003d-2,-.536382d-5,2.50662827465d0/
1508 data half,one,fpf/0.5d0,1.0d0,5.5d0/
1511 tmp=(x+half)*log(tmp)-tmp
1522 subroutine moment(ifunc,nn)
1526 implicit real *8 (a-h,o-z)
1528 include
'afrt_phs.cmn'
1546 if(rbar(i).gt.rmin1 .and. rbar(i).le.rmax1)
then
1547 prod1=rbar(i)*dn1(i)*deltar(i)+prod1
1548 prod2=rbar(i)**2*dn1(i)*deltar(i)+prod2
1549 prod3=rbar(i)**3*dn1(i)*deltar(i)+prod3
1550 prod4=rbar(i)**4*dn1(i)*deltar(i)+prod4
1553 if(ifunc.eq.4 .or. ifunc.eq.5)
then
1555 if(rbar(i).gt.rmin2 .and. rbar(i).le.rmax2)
then
1556 prod1=rbar(i)*dn2(i)*deltar(i)+prod1
1557 prod2=rbar(i)**2*dn2(i)*deltar(i)+prod2
1558 prod3=rbar(i)**3*dn2(i)*deltar(i)+prod3
1559 prod4=rbar(i)**4*dn2(i)*deltar(i)+prod4
1565 if(rbar(i).gt.rmin3 .and. rbar(i).le.rmax3)
then
1566 prod1=rbar(i)*dn3(i)*deltar(i)+prod1
1567 prod2=rbar(i)**2*dn3(i)*deltar(i)+prod2
1568 prod3=rbar(i)**3*dn3(i)*deltar(i)+prod3
1569 prod4=rbar(i)**4*dn3(i)*deltar(i)+prod4
1574 veffz=prod4/(reffz**2*prod2)
1582 100
format(
'prod1,prod2,prod3,prod4,reffz,veffz'/1p6e11.3)
1587 subroutine xmntst(ifunc,irgm)
1594 implicit real*8 (a-h,o-z)
1595 include
'afrt_phs.cmn'
1596 real*8 q11(3),q22(3),q33(3),q44(3),qnn(3)
1597 real*8 amin(3),amax(3),agm(3),asigln(3)
1612 aa=(dlog(r0/rg))/(sigln*dsqrt(2.0d0))
1614 ccnsml=0.5d0*(1.0d0-erfa1)
1637 asigln(1)=dlog(ddd(2))
1638 asigln(2)=dlog(ddd(5))
1639 asigln(3)=dlog(ddd(8))
1641 if(nmode.gt.3)
return
1644 q11(i)=agm(i)*dexp(0.5d0*asigln(i)**2)
1645 q22(i)=agm(i)**2*dexp(0.5d0*(2.0d0*asigln(i))**2)
1646 q33(i)=agm(i)**3*dexp(0.5d0*(3.0d0*asigln(i))**2)
1647 q44(i)=agm(i)**4*dexp(0.5d0*(4.0d0*asigln(i))**2)
1651 rgp1=dlog(agm(i))+asigln(i)**2
1652 rgp2=dlog(agm(i))+2.0d0*asigln(i)**2
1653 rgp3=dlog(agm(i))+3.0d0*asigln(i)**2
1654 rgp4=dlog(agm(i))+4.0d0*asigln(i)**2
1656 erf1=erf((dlog(amax(i))-rgp1)/(asigln(i)*dsqrt(2.0d0)))
1657 erf2=erf((dlog(amax(i))-rgp2)/(asigln(i)*dsqrt(2.0d0)))
1658 erf3=erf((dlog(amax(i))-rgp3)/(asigln(i)*dsqrt(2.0d0)))
1659 erf4=erf((dlog(amax(i))-rgp4)/(asigln(i)*dsqrt(2.0d0)))
1661 grf1=erf((dlog(amin(i))-rgp1)/(asigln(i)*dsqrt(2.0d0)))
1662 grf2=erf((dlog(amin(i))-rgp2)/(asigln(i)*dsqrt(2.0d0)))
1663 grf3=erf((dlog(amin(i))-rgp3)/(asigln(i)*dsqrt(2.0d0)))
1664 grf4=erf((dlog(amin(i))-rgp4)/(asigln(i)*dsqrt(2.0d0)))
1666 q11(i)=0.5d0*q11(i)*(erf1-grf1)
1667 q22(i)=0.5d0*q22(i)*(erf2-grf2)
1668 q33(i)=0.5d0*q33(i)*(erf3-grf3)
1669 q44(i)=0.5d0*q44(i)*(erf4-grf4)
1677 r11=r11+qnn(i)*q11(i)
1678 r22=r22+qnn(i)*q22(i)
1679 r33=r33+qnn(i)*q33(i)
1680 r44=r44+qnn(i)*q44(i)
1685 veff=r44/(reff**2*r22)
1687 write(*,100)r11,r22,r33,r44,reff,veff
1688 100
format(
'final: r11,r22,r33,r44,reff,veff'/1p6e11.3)