program diffkk c c generate f' and f'' near x-ray resonances for an atom, including c fine-structure due to solid-state effects (ie, xafs/dafs). c c algorithm summary: c 1 the brennan-cowan implementation of the cromer-libermann (cl) c calculation is used as a starting set of a causal f' and f''. c modifications were made to the bc code, mostly to make it easier c to use, more closely f77 conforming, and smaller. this data is c convolved with a lorenztian, typically with a width of a few ev. c c 2 an externally supplied file containing the xafs mu(e) is used to c improve f''. special support for xmu.dat files from feff is c provided, or the external file can contain *measured* mu(e) for c the system of interest. a simple matching procedure is done to c make the supplied mu(e) match the f'' from cl. c c 3 a differential kramers-kronig transform is used to convert the c changes in f'' (ie f''_supplied - f''_cl) into the changes in f' c (ie f' - f'_cl). the kk transform is done using a maclaurin c series method, as suggested in the literature. c c the result is a causal pair of f' and f'' that reflect the c presence of the atoms neighboring the central atom. c c -- Further notes on the algorithms used and instructions for -- c -- program use are given in the program documentation. -- c c copyright 1997 matt newville c c acknowledgements: julie cross, chuck bouldin, john rehr, and c bruce ravel contributed to the design of this code. c the best ideas were theirs. all mistakes are mine. c c include "dkcom.f" c#{dkcom.f: implicit none integer mpts,mdoc,mtitle,mvarys, npts,ndoc,ntitle integer iencol,imucol,iatz, npad, numvar parameter (mpts = 2**14, mdoc = 20, mtitle = 10, mvarys=20) double precision egrid, e0, elow, ehigh, ewidth double precision epad, xvarys(mvarys) double precision energy(mpts), f2ex(mpts), f2cl(mpts) character*100 doc(mdoc), title(mtitle), versn*6 character*100 inpfil, xmufil, outfil, label logical active, isfeff integer ne0, nelo, nehi, ne0ish, ne0dif, iprint common /dfkdat/ energy, f2ex, f2cl, xvarys, egrid, e0, elow, $ ehigh, ewidth, epad, npad, npts, ndoc, ntitle, iencol, $ imucol, ne0, nelo, nehi, ne0ish, ne0dif, iprint, $ iatz, numvar, active, isfeff common /dfkchr/ doc, title, label, inpfil, xmufil, outfil, $ versn save c#dkcom.f} integer i, ncol, mcol, ierr, istrln, ilen parameter (mcol = 6) double precision df1(mpts), df2(mpts), f1cl(mpts) double precision f1clr(mpts), f2clr(mpts) double precision outdat(mcol,mpts), gamma character*90 str external istrln versn = '1.10' ncol = mcol ndoc = mdoc npts = mpts c print version number write(str,'(3a)') ' -- diffkk version ', versn, '--' ilen = istrln(str) call messag(str(1:ilen)) c read diffk.inp call dkinp c read mu(e) data, convert to f''(e) on an even energy grid write(str,'(1a)') ' Reading xmu data:' ilen = istrln(str) call messag(str(1:ilen)) call readmu c generate initial tables of f' f'' on the same energy grid call messag(' ') call messag(' Looking up Cromer-Liberman f'' and f'''' ') call clcalc(iatz, npts, energy, f1clr, f2clr) c broaden f1cl and f2cl call messag(' Broadening Cromer-Liberman f'' and f'''' ') gamma = ewidth / egrid call convl2(npts, f1clr, f2clr, gamma, f1cl, f2cl) c align/shift/scale improved f'' to tabulated f'' (df2 = f2ex - f2cl) call messag(' Matching xmu data to Cromer-Liberman f'''' ') call dkfit call dkfcn(npts,numvar,xvarys,df2,ierr) c do kk transform of delta f'' -> delta f' call messag(' Doing difference Kramers-Kronig transform') call kkmclr(npts, energy, df2, df1) c add delta f' to initial f', delta f'' to initial f'' do 100 i = 1, npts outdat(1,i) = energy(i) outdat(2,i) = df1(i) + f1cl(i) outdat(3,i) = df2(i) + f2cl(i) outdat(4,i) = f1cl(i) outdat(5,i) = f2cl(i) 100 continue c play with docs (put user titles at top, c keep as many old doc lines as fit) ndoc = min(mdoc, ndoc+ntitle) do 200 i = ndoc, 1, -1 if (i.gt.ntitle) then doc(i) = doc(i-ntitle) else doc(i) = title(i) end if 200 continue c write results if (active) then call messag(' ') call messag(' Ready to write out data file:') call askstr('** output file name',outfil) end if ncol = 5 write(str,'(2a)') ' writing output data to ', $ outfil(1:istrln(outfil)) ilen = istrln(str) call messag(' ') call messag(str(1:ilen)) call outasc(outfil, label, doc, ndoc, outdat, $ mcol,mpts,ncol, npts) call messag(' writing summary to diffkk.log') call dklog call messag(' -- diffkk done -- ') end subroutine triml (string) c removes leading blanks. character*(*) string jlen = istrln(string) c c-- all blank and null strings are special cases. if (jlen .eq. 0) return c-- find first non-blank char do 10 i = 1, jlen if (string (i:i) .ne. ' ') goto 20 10 continue 20 continue c-- if i is greater than jlen, no non-blanks were found. if (i .gt. jlen) return c-- remove the leading blanks. string = string (i:) return c end subroutine triml end integer function nofx(x,array,npts) c c function nofx c c notes: x and array are real c c purpose c given a value x and an array of values, find the index c corresponding to the array element closest to x c usage c n = nofx(x,array,npts) c c parameters c x - a given value c array - array of values, assumed to be stored in order of c increasing value c npts - number of elements in array c c subroutines and function subprograms required c none c c written 8/11/81 by j.m. tranquada c implicit double precision(a-h,o-z) double precision array(npts), x imin = 1 imax = npts inc = ( imax - imin ) / 2 10 continue it = imin + inc xit = array(it) if ( x .lt. xit ) then imax = it else if ( x .gt. xit ) then imin = it else nofx = it return endif inc = ( imax - imin ) / 2 if ( inc .gt. 0 ) go to 10 xave = ( array(imin) + array(imin+1) ) / 2. if ( x .lt. xave ) then nofx = imin else nofx = imin + 1 endif return c end function nofx end function istrln (string) c c returns index of last non-blank character. c returns zero if string is null or all blank. character*(*) string c-- if null string or blank string, return length zero. istrln = 0 if (string(1:1).eq.char(0)) return if (string.eq.' ') return c c-- find rightmost non-blank character. ilen = len (string) do 20 i = ilen, 1, -1 if (string (i:i) .ne. ' ') goto 30 20 continue 30 istrln = i return c end function istrln end subroutine messag(messg) c write message to standard ouput with (1x,a) format character*(*) messg write(*,'(1x,a)') messg return c end subroutine messag end subroutine openfl(iunit, file, status, iexist, ierr) c c open a file, c if unit <= 0, the first unused unit number greater than 7 will c be assigned. c if status = 'old', the existence of the file is checked. c if the file does not exist iexist is set to -1 c if the file does exist, iexist = iunit. c if any errors are encountered, ierr is set to -1. c c note: iunit, iexist, and ierr may be overwritten by this routine character*(*) file, status, stat*10 integer iunit, iexist, ierr, iulow logical opend, exist data iulow, iumax /7, 50/ c c make sure there is a unit number ierr = -3 iexist = 0 if (iunit.le.0) then iunit = iulow 10 continue inquire(unit=iunit, opened = opend) if (opend) then if (iunit.gt.iumax) then iunit = min(iumax,iunit) return end if iunit = iunit + 1 go to 10 endif end if c c if status = 'old', check that the file name exists ierr = -2 stat = status call smcase(stat,'a') if (stat.eq.'old') then iexist = -1 inquire(file=file, exist = exist) if (.not.exist) return iexist = iunit end if c c open the file ierr = -1 open(unit=iunit, file=file, status=status, err=100) ierr = 0 100 continue return c end subroutine openfl end subroutine upper (str) c changes a-z to upper case. ascii specific c- for ascii: ichar(upper case 'a') = 65 c- ichar(lower case 'a') = 97 character*(*) str integer iupa, iloa, iloz, idif data iupa, iloa / 65, 97/ idif = iloa - iupa iloz = iloa + 25 jlen = max(1, istrln (str) ) do 10 i = 1, jlen ic = ichar (str(i:i)) if ((ic.ge.iloa).and.(ic.le.iloz)) str(i:i) = char(ic-idif) 10 continue return c end subroutine upper end subroutine lower (str) c changes a-z to lower case. ascii specific c- for ascii: ichar(upper case 'a') = 65 c- ichar(lower case 'a') = 97 character*(*) str integer iupa, iloa, iupz, idif data iupa, iloa / 65, 97/ idif = iloa - iupa iupz = iupa + 25 jlen = max(1, istrln (str) ) do 10 i = 1, jlen ic = ichar (str(i:i)) if ((ic.ge.iupa).and.(ic.le.iupz)) str(i:i) = char(ic+idif) 10 continue return c end subroutine lower end subroutine smcase (str, contrl) c convert case of string *str*to be the same case c as the first letter of string *contrl* c if contrl(1:1) is not a letter, *str* will be made lower case. character*(*) str, contrl, s1*1, t1*1 s1 = contrl(1:1) t1 = s1 call lower(t1) if (t1.eq.s1) call lower(str) if (t1.ne.s1) call upper(str) return c end subroutine smcase end subroutine bwords (s, nwords, words) c c breaks string into words. words are seperated by one or more c blanks, or a comma or equal sign and zero or more blanks. c c args i/o description c ---- --- ----------- c s i char*(*) string to be broken up c nwords i/o input: maximum number of words to get c output: number of words found c words(nwords) o char*(*) words(nwords) c contains words found. words(j), where j is c greater then nwords found, are undefined on c output. c c written by: steven zabinsky, september 1984 c c************************** deo soli gloria ************************** c-- no floating point numbers in this routine. implicit integer (a-z) character*(*) s, words(nwords) character blank, comma, equal parameter (blank = ' ', comma = ',', equal = '=') c-- betw .true. if between words c comfnd .true. if between words and a comma or equal has c already been found logical betw, comfnd c-- maximum number of words allowed wordsx = nwords c-- slen is last non-blank character in string slen = istrln (s) c-- all blank string is special case if (slen .eq. 0) then nwords = 0 return endif c-- begc is beginning character of a word begc = 1 nwords = 0 betw = .true. comfnd = .true. do 10 i = 1, slen if (s(i:i) .eq. blank) then if (.not. betw) then nwords = nwords + 1 words (nwords) = s (begc : i-1) betw = .true. comfnd = .false. endif elseif ((s(i:i).eq.comma).or.(s(i:i).eq.equal)) then if (.not. betw) then nwords = nwords + 1 words (nwords) = s(begc : i-1) betw = .true. elseif (comfnd) then nwords = nwords + 1 words (nwords) = blank endif comfnd = .true. else if (betw) then betw = .false. begc = i endif endif if (nwords .ge. wordsx) return 10 continue c if (.not. betw .and. nwords .lt. wordsx) then nwords = nwords + 1 words (nwords) = s (begc :slen) endif return c end subroutine bwords end subroutine untab (string) c replace tabs with blanks : tab is ascii dependent integer itab , i, ilen parameter (itab = 9) character*(*) string, tab*1 tab = char(itab) ilen = max(1, istrln(string)) 10 continue i = index(string(:ilen), tab ) if (i .ne. 0) then string(i:i) = ' ' go to 10 end if return c end subroutine untab end subroutine getfln(strin, s1, s2) c strip off the matched delimeters from string, as if getting c a filename from "filename", etc. integer idel, iend, istrln character*(*) strin, s1, s2, errmsg*80, ope*8, clo*8, cdel*1 data ope, clo / '"{(<''[', '"})>'']' / c errmsg = strin call triml(errmsg) ilen = istrln(errmsg) idel = index(ope,errmsg(1:1)) if (idel.ne.0) then cdel = clo(idel:idel) iend = index(errmsg(2:), cdel) if (iend.le.0) then call messag(' syntax error: cannot determine file '// $ 'name from line:') call messag(errmsg(1:ilen)) iend = ilen end if s1 = errmsg(2:iend) s2 = errmsg(iend+2:) else iend = index(errmsg,' ') - 1 if (iend.le.0) iend = istrln(errmsg) s1 = errmsg(1:iend) s2 = errmsg(iend+1:) end if return c end subroutine getfln end subroutine getcom(prompt, iuin, commnd, files, iunit, $ mfiles, nfiles) c c get next command line from unit iuin, or from a command file. c some rudimentary error checking is done here. c c prompt string to display when expecting input (in) c iuin default unit to read from (in) c files array of command files to use (in/out) c mfiles max number of command files to use (in/out) c commnd next command line to execute (out) c integer mwords, ii, ipro, mfiles, nfiles parameter (mwords = 3) character*(*) prompt, commnd, files(mfiles) character*80 line, words(mwords), errmsg, prom, stat*7 integer iunit(mfiles), istrln, nwords external istrln data stat /'old'/ c--------------------------------------------------------------------- call triml(prompt) prom = prompt ipro = istrln(prom) if (ipro.le.1) then prom = ' ' ipro = 1 end if iu0 = iuin if (iu0.le.0) iu0 = 5 30 format(1x,a, '>',$) 40 format(a) 100 continue c read command from prompt (standard input) c or from current input command lines from an external file line = ' ' commnd = ' ' if ((nfiles.lt.0).or.(nfiles.gt.mfiles)) nfiles = 0 if (nfiles.eq.0) then if ((iu0.eq.5).and.(ipro.gt.1)) then write(*, 30) prom(1:ipro) end if read ( iu0 ,40, err = 600, end = 600) line else read(iunit(nfiles),40, err =1000, end = 500) line end if c c check if command line is 'load filename'. c if so, open that file, and put it in the files stack call triml(line) call untab(line) nwords = mwords words(1) = ' ' words(2) = ' ' call bwords(line, nwords, words) if ((line.eq.' ').or.(nwords.le.0)) go to 100 call smcase(words(1),'a') if ( (words(1)(1:5).eq.'load ').or. $ (words(1)(1:8).eq.'include ').or. $ (words(1)(1:6).eq.'input ')) then if (words(2).eq.' ') then call messag( ' ##> no file name given. syntax is'// $ ' include filename ') go to 100 end if nfiles = nfiles + 1 if (nfiles.gt.mfiles) go to 2000 call getfln(words(2),files(nfiles), errmsg) do 400 i = 1, nfiles - 1 if (files(nfiles).eq.files(i)) go to 3000 400 continue iunit(nfiles) = 0 call openfl(iunit(nfiles), files(nfiles), stat, iexist, ierr) if (iexist.lt.0) go to 2600 if (ierr.lt.0) go to 2800 go to 100 elseif ((words(1)(1:1).eq.'*').or.(words(1)(1:1).eq.'#')) then commnd = ' ' go to 100 else commnd = line end if return c c end-of-file for command line file: drop nfiles by 1, c return to get another command line 500 continue close(iunit(nfiles)) nfiles = nfiles - 1 if (nfiles.lt.0) nfiles = 0 if (ipro.gt.1) go to 100 commnd = 'getcom_eof' return c 600 continue commnd = 'getcom_end' return c c warning and error messages 1000 continue call messag(' ##> error reading from "include"d file: ' ) errmsg = files(nfiles) ii = max(1, istrln(errmsg)) call messag(' ##> '//errmsg(1:ii) ) go to 5000 2000 continue call messag(' ##> error: too many nested "include"d files: ' ) write(errmsg, '(1x,a,i3)') ' ##>current limit is ', mfiles ii = max(1, istrln(errmsg)) call messag(' ##> '//errmsg(1:ii) ) go to 5000 2600 continue call messag(' ##> error: can not find "include"d file: ' ) errmsg = files(nfiles) ii = max(1, istrln(errmsg)) call messag(' ##> '//errmsg(1:ii) ) go to 5000 2800 continue call messag(' ##> error: can not open "include"d file: ' ) errmsg = files(nfiles) ii = max(1, istrln(errmsg)) call messag(' ##> '//errmsg(1:ii) ) go to 5000 3000 continue call messag(' ##> error: recursive "include" of file:') errmsg = files(nfiles) ii = max(1, istrln(errmsg)) call messag(' ##> '//errmsg(1:ii) ) go to 5000 c 5000 continue commnd = 'getcom_error' return c c end subroutine getcom end subroutine fixstr(string,str,ilen,words,wrdsor,mwords,nwords) c simple preparation of string for reading of keywords integer ilen, mwords, nwords, i, lenp1 integer iexcla, iperct, ihash, ieolc, istrln character*(*) string, str, words(mwords), wrdsor(mwords) c c fix-up string: untab, left-justify, make a lower-case version nwords = 0 call untab(string) str = string call triml(str) call smcase( str, 'case') c remove comments from str: c '!', '#', and '%' are end of line comments c '*' is a complete comment line if in col 1 lenp1 = len(str) + 1 iexcla = index(str,'!') if (iexcla.eq.0) iexcla = lenp1 iperct = index(str,'%') if (iperct.eq.0) iperct = lenp1 ihash = index(str,'#') if (ihash.eq.0) ihash = lenp1 ieolc = min(iperct,iexcla,ihash) - 1 if ((ieolc.lt.1).or.(str(1:1).eq.'*')) ieolc = 1 str = str(1:ieolc) ilen = max(1, istrln(str)) if (ilen.le.2) return c break string into words (up to mwords) c words is in lower case, wrdsor is in original case do 120 i = 1, mwords words(i) = ' ' wrdsor(i) = ' ' 120 continue nwords = mwords call bwords(str , nwords, words) call bwords(string, nwords, wrdsor) c end subroutine fixstr return end subroutine findee(nxmu, energy, xmu, ee) c c find ee of x-ray absorption data c (maximum deriv, with check that it is at least c the third positive deriv in a row) c inputs: c nxmu length of array energy, xmu, and xmuout c energy array of energy points c xmu array of raw absorption points c outputs: c ee energy origin of data implicit none integer nxmu, ninc, ntry, i, j parameter (ninc = 3) logical inc(ninc), incall double precision energy(nxmu), xmu(nxmu), ee, dxde, demx, deltae double precision zero, tiny, onepls parameter (zero = 0, tiny = 1.d-8, onepls = 1.001d0) c ee = zero if (nxmu.le.8) return do 100 i = 1, ninc inc(i) = .false. 100 continue dxde = zero demx = zero ntry = max(2, int(nxmu/2)) + 3 do 150 i = 2, ntry deltae = energy(i) - energy(i-1) if (deltae.gt.tiny) then dxde = (xmu(i) - xmu(i-1))/deltae inc(1) = dxde.gt.zero incall = inc(3).and.inc(2).and.inc(1) if (incall. and. (dxde.gt.demx) ) then ee = energy(i) demx = dxde * onepls end if do 130 j = ninc, 2, -1 inc(j) = inc(j - 1) 130 continue end if 150 continue return end subroutine str2dp(str,dpval,ierr) c return dp number "dpval" from character string "str" c if str cannot be a number, returns dpval = 0 and ierr.ne.0 character*(*) str, fmt*15 double precision dpval integer ierr , lenmax parameter ( lenmax = 40) logical isnum external isnum dpval = 0 ierr = -99 if (isnum(str)) then ierr = 0 write(fmt, 10) min(lenmax, len(str)) 10 format('(bn,f',i3,'.0)') read(str, fmt, err = 20, iostat=ierr) dpval end if return 20 continue ierr = -98 return c end subroutine str2dp end logical function isdat(string) c tests if string contains numerical data c returns true if the first (up to eight) words in string can c all be numbers. requires at least two words, and tests only c the first eight columns integer nwords, mwords, i parameter (mwords = 8) character*(30) string*(*), words(mwords), line*(256) logical isnum external isnum c isdat = .false. do 10 i = 1, mwords words(i) = 'no' 10 continue c nwords = mwords line = string call triml(line) call untab(line) call bwords(line, nwords, words) if (nwords.ge.2) then isdat = .true. do 50 i = 1, nwords if (.not. ( isnum( words(i) ) ) ) isdat = .false. 50 continue end if c return end logical function isnum (string) c tests whether a string can be a number. not foolproof! c to return true, string must contain: c - only characters in 'deDE.+-, 1234567890' (case is checked) c - no more than one 'd' or 'e' c - no more than one '.' character*(*) string, number*20 c note: layout and case of *number* is important: do not change! parameter (number = 'deDE.,+- 1234567890') integer iexp, idec, i, j, istrln external istrln iexp = 0 idec = 0 isnum = .false. do 100 i = 1, max(1, istrln(string)) j = index(number,string(i:i)) if (j.le.0) go to 200 if((j.ge.1).and.(j.le.4)) iexp = iexp + 1 if (j.eq.5) idec = idec + 1 100 continue c every character in "string" is also in "number". so, if there are c not more than one exponential and decimal markers, it's a number if ((iexp.le.1).and.(idec.le.1)) isnum = .true. 200 continue return c end logical function isnum end subroutine lintrp(x, y, npts, xin, ip, yout) c c linear interpolation for use in repeated loops where xin c is increasing or decreasing steadily through the values in x. c inputs: c x array of ordinate values c y array of abscissa values c npts length of arrays x and y c xin value of x at which to interpolate c ip guess of index in x array to use c outputs: c ip index in x array used in interpolation c y interpolated abscissa at xin c implicit none integer npts, ip double precision x(npts), y(npts), tiny, xin, yout parameter (tiny = 1.d-10) c find best starting value, and make sure ip is in range call hunt(x, npts, xin, ip) ip = min(npts-1, max(ip,1)) if ( ( x(ip+1) - x(ip) ) .le. tiny ) then yout = y(ip) else yout = y(ip) + (y(ip+1) - y(ip)) * ( xin - x(ip)) $ / (x(ip+1) - x(ip)) end if return c end subroutine lintrp end subroutine hunt(array, npts, x, jlo) c c given an array array(n), and a value x, this returns a value c jlo such that array(jlo) <= x <= array(jlo+1). array must be c monotonically increasing. c jlo = 0 or jlo = n indicates that x is out of range. c on input, jlo gives an initial guess for the output jlo c c similar to a routine from "numerical recipes" by press, c flannery, teukolsky, and vetterling c see pp89 - 92 of 1989 fortran version implicit none integer npts, jlo, jhi, jmid, jstep double precision array(npts) , x c jlo not useful - go straight to bisection if (jlo.le.0.or.jlo.gt.npts) then jlo=0 jhi=npts+1 go to 30 endif jstep = 1 c hunt up : if (x.ge.array(jlo)) then 10 continue jhi=jlo+jstep if(jhi.gt.npts)then jhi=npts+1 else if (x.ge.array(jhi)) then jlo=jhi jstep=jstep+jstep go to 10 endif else c hunt down : jhi=jlo 20 continue jlo=jhi-jstep if(jlo.lt.1)then jlo=0 else if (x.lt.array(jlo)) then jhi=jlo jstep=jstep+jstep go to 20 endif endif c done hunting, value bracketed: begin bisection 30 continue if (jhi-jlo.ne.1) then jmid=(jhi+jlo)/2 if (x.gt.array(jmid)) then jlo=jmid else jhi=jmid endif go to 30 end if c return return c end subroutine hunt end subroutine askstr(ask, str) c c prompt for and return a characer string. c see also the routines askint, and askval. c inputs: c ask character string for prompt c str default string to show in prompt c outputs: c str string read in c copyright 1993 university of washington matt newville character*(*) ask , str character*80 query , answer integer i , j, k, istrln external istrln query = ask call triml(query) call triml(str) i = max(1, istrln(query) ) j = max(1, istrln(str) ) k = max(1, min(80, len(str))) 30 format (2x,a,' [', a, '] >',$) write(*, 30 ) query(1:i), str(1:j) read (*, '(a)', err= 50) answer call triml(answer) if (istrln(answer).ge.1) str = answer(1:k) 50 continue return c end subroutine askstr end subroutine askdp(ask, val) c prompt for and return a double precision number c inputs: c ask character string for prompt c val default dp number to show in prompt c outputs: c val dp number read in c copyright 1993 university of washington matt newville character*(*) ask, answer*30 , query*80 integer i, istrln double precision val, tmp external istrln query = ask i = max(1, istrln(query) ) 30 format( 2x,a,' [', g16.8, '] >',$) write(*, 30) query(1:i), val read (*, '(a)', err = 50) answer if ( answer.ne.' ') then call str2dp(answer, tmp, ierr) if (ierr.eq. 0 ) val = tmp end if 50 continue return c end subroutine askdp end subroutine askint(ask, int) c prompt for and return an integer. c inputs: c ask character string for prompt c int default integer to show in prompt c outputs: c int integer read in c copyright 1993 university of washington matt newville character*(*) ask, answer*30, query*80 integer i, istrln, int, itmp external istrln query = ask call triml(query) i = max(1, istrln(query) ) 30 format( 2x,a,' [', i4, '] >',$) write(*, 30) query(1:i), int read (*, '(a)', err = 50) answer call triml(answer) if (istrln(answer).ge.1) then call str2in(answer, itmp, ierr) if (ierr.eq. 0 ) int = itmp end if 50 continue return c end subroutine askint end subroutine str2in(str,intgr,ierr) c return intger "intgr" from character string "str" c if str cannot be a number, returns val = 0 and ierr.ne.0 character*(*) str double precision dpval integer ierr, intgr call str2dp(str,dpval,ierr) intgr = dpval return c end subroutine str2in end subroutine strclp(str,str1,str2,strout) c c a rather complex way of clipping a string: c strout = the part of str that begins with str2. c str1 and str2 are subsrtings of str, (str1 coming before str2), c and even if they are similar, strout begins with str2 c for example: c 1. str = "title title my title" with str1 = str2 = "title" c gives strout = "title my title" c 2. str = "id 1 1st path label" with str1 = "1", str2 = "1st" c gives strout = "1st path label" c character*(*) str, str1, str2, strout integer i1, i2, ibeg, iend, istrln, ilen external istrln ilen = len(strout) i1 = max(1, istrln(str1)) i2 = max(1, istrln(str2)) i1e = index(str,str1(1:i1)) + i1 ibeg = index(str(i1e:),str2(1:i2) ) + i1e - 1 iend = min(ilen+ibeg, istrln(str) ) strout = str(ibeg:iend) return c end subroutine strclp end character*2 function atsym (iz) character*2 sym(103) common /atsyms/ sym save atsym = 'xx' if ((iz.le.103).and.(iz.gt.0)) atsym = sym(iz) call upper(atsym(1:1)) return end c integer function iatsym (symin) character*2 sym(103), symin common /atsyms/ sym save call smcase(symin,sym(1)) do 10 iatsym = 1, 103 if (symin.eq.sym(iatsym)) return 10 continue iatsym = 0 return end c block data prtabl character*2 sym(103) common /atsyms/ sym data sym / 'h' ,'he','li','be','b' ,'c' ,'n' ,'o' ,'f' ,'ne', $ 'na','mg','al','si','p' ,'s' ,'cl','ar','k' ,'ca','sc','ti', $ 'v' ,'cr','mn','fe','co','ni','cu','zn','ga','ge','as','se', $ 'br','kr','rb','sr','y' ,'zr','nb','mo','tc','ru','rh','pd', $ 'ag','cd','in','sn','sb','te','i' ,'xe','cs','ba','la','ce', $ 'pr','nd','pm','sm','eu','gd','tb','dy','ho','er','tm','yb', $ 'lu','hf','ta','w' ,'te','os','ir','pt','au','hg','tl','pb', $ 'bi','po','at','rn','fr','ra','ac','th','pa','u' ,'np','pu', $ 'am','cm','bk','cf','es','fm','md','no','lw'/ end subroutine str2lg(str,flag,ierr) c return logical "flag" from character string "str". c flag is .true. unless the str(1:1) is 'f' or 'n' (not case-sensitive) character*(*) str, test*4 parameter (test = 'fnFN') logical flag integer ierr ierr = 0 flag = .true. if (index(test,str(1:1)).ne.0) flag = .false. return c end subroutine str2lg end subroutine dkinp c read inputs for diffkk program from 'diffkk.inp' c c include "dkcom.f" c#{dkcom.f: implicit none integer mpts,mdoc,mtitle,mvarys, npts,ndoc,ntitle integer iencol,imucol,iatz, npad, numvar parameter (mpts = 2**14, mdoc = 20, mtitle = 10, mvarys=20) double precision egrid, e0, elow, ehigh, ewidth double precision epad, xvarys(mvarys) double precision energy(mpts), f2ex(mpts), f2cl(mpts) character*100 doc(mdoc), title(mtitle), versn*6 character*100 inpfil, xmufil, outfil, label logical active, isfeff integer ne0, nelo, nehi, ne0ish, ne0dif, iprint common /dfkdat/ energy, f2ex, f2cl, xvarys, egrid, e0, elow, $ ehigh, ewidth, epad, npad, npts, ndoc, ntitle, iencol, $ imucol, ne0, nelo, nehi, ne0ish, ne0dif, iprint, $ iatz, numvar, active, isfeff common /dfkchr/ doc, title, label, inpfil, xmufil, outfil, $ versn save c#dkcom.f} integer i, mfil, maxwrd,nwords, iwrds parameter(maxwrd = 30, mfil = 10) character*70 words(maxwrd), wrdsor(maxwrd), keywrd character*70 prompt*20,key*3,stat*10, string,str,comfil(mfil) integer istrln,icom(mfil), nfil, iinp, ier, iex, ilen, nline external istrln c initialization c initialize stuff in common active = .false. isfeff = .true. inpfil = 'diffkk.inp' xmufil = 'xmu.dat' outfil = 'dk.out' iatz = 0 iprint = 0 imucol = 2 iencol = 1 egrid = 1 elow = 200 ehigh = 500 ewidth = 1.5 c note: pre1/pre2 will be set in f2fit according c to whether data is from feff or not epad = 5 npad = 20 iatz = 0 ntitle = 0 label =' e fp fpp f1_cl f2_cl' do 10 i = 1, mtitle title(i) = ' ' 10 continue c initialize local stuff prompt = 'f' stat = 'old' nline = 0 nfil = 0 ier = 0 iex = 0 iinp = 1 do 20 i = 1, mfil icom(i) = 0 20 continue c input file: if file is found, open it for reading, cc#mac ccc use LS Fortran's '*' syntax and dialog boxes (thanks boyan!) c open(unit=iinp,file=*,status='old',iostat=ier) c if (ier.ne.0) then c call AlertBox('File selection was canceled!') c call finmsg(2001,string,' ',0) c end if c call f_setvolume(jvrefnum(iinp)) c call f_creator('ttxt') ccc this resets fname to the name of the opened file. ccc useful for computing output file names, etc. c inquire(unit=iinp,name= inpfil,iostat=ier) c if (ier.ne.0) inpfil='diffkk.inp' cc#mac call openfl(iinp, inpfil, stat, iex, ier) if (iex.lt.0) then ilen = istrln( inpfil) call messag( ' '// inpfil(:ilen)// ' not found'// $ ' -- running interactively') active = .true. return endif if ((iex.lt.0).or.(ier.ne.0)) go to 1990 c c read in next line 100 continue keywrd = ' ' key = ' ' call getcom(prompt, iinp, string, comfil, icom, mfil, nfil) nline = nline + 1 c call fixstr(string,str,ilen,words,wrdsor,maxwrd,nwords) if ((ilen.le.2).or.(str.eq.'getcom_eof')) go to 100 if ((words(1).eq.'end').or.(str.eq.'getcom_end')) go to 1000 if (str.eq.'getcom_error') go to 1990 c parse current set of keywords from line 150 continue keywrd = words(1) key = keywrd(1:3) iwrds = 2 c inpfil,outfil,imucol,egrid,iatz if (keywrd.eq.'title') then ntitle = ntitle + 1 call strclp(string,wrdsor(1),wrdsor(2),title(ntitle)) iwrds = maxwrd + 1 else if (key.eq.'out') then outfil = wrdsor(2) else if (key.eq.'xmu') then xmufil = wrdsor(2) else if (keywrd.eq.'isfeff') then call str2lg(words(2),isfeff,ier) else if (keywrd.eq.'iz') then call str2in(words(2),iatz,ier) else if (keywrd.eq.'mucol') then call str2in(words(2),imucol,ier) else if (keywrd.eq.'encol') then call str2in(words(2),iencol,ier) else if (keywrd.eq.'egrid') then call str2dp(words(2),egrid,ier) else if (keywrd.eq.'e0') then call str2dp(words(2),e0,ier) else if (keywrd.eq.'ewidth') then call str2dp(words(2),ewidth,ier) else if (keywrd.eq.'elow') then call str2dp(words(2),elow,ier) else if (keywrd.eq.'ehigh') then call str2dp(words(2),ehigh,ier) else if (keywrd.eq.'epad') then call str2dp(words(2),epad,ier) else if (keywrd.eq.'npad') then call str2in(words(2),npad,ier) else if (key.eq.'iz') then call str2at(words(2),iatz) else if (key.eq.'iprint') then call str2at(words(2),iprint) end if if (nwords.gt.iwrds) then do 450 i = 1, nwords words(i) = words(i+iwrds) wrdsor(i) = wrdsor(i+iwrds) 450 continue nwords = nwords - iwrds go to 150 end if go to 100 1000 continue return 1990 continue call messag(' weird, fatal error trying to open file.') stop end subroutine str2at(str,iz) c given a string str that contains either an atomic number or c an atomic symbol, return the atomic number to iz. c character*(*) str integer iz, ierr, iatsym logical isnum external isnum, iatsym if (isnum(str)) then call str2in(str,iz,ierr) if (ierr.ne.0) iz = 0 else iz = iatsym(str) end if return c end subroutine str2at end subroutine readmu c include "dkcom.f" c#{dkcom.f: implicit none integer mpts,mdoc,mtitle,mvarys, npts,ndoc,ntitle integer iencol,imucol,iatz, npad, numvar parameter (mpts = 2**14, mdoc = 20, mtitle = 10, mvarys=20) double precision egrid, e0, elow, ehigh, ewidth double precision epad, xvarys(mvarys) double precision energy(mpts), f2ex(mpts), f2cl(mpts) character*100 doc(mdoc), title(mtitle), versn*6 character*100 inpfil, xmufil, outfil, label logical active, isfeff integer ne0, nelo, nehi, ne0ish, ne0dif, iprint common /dfkdat/ energy, f2ex, f2cl, xvarys, egrid, e0, elow, $ ehigh, ewidth, epad, npad, npts, ndoc, ntitle, iencol, $ imucol, ne0, nelo, nehi, ne0ish, ne0dif, iprint, $ iatz, numvar, active, isfeff common /dfkchr/ doc, title, label, inpfil, xmufil, outfil, $ versn save c#dkcom.f} integer ntmp, i, ipos, nwords, ierr, iztmp, istrln character*10 words(10) double precision small, etmp(mpts), xmutmp(mpts) double precision e0tmp, e1, erange, e0inv, one parameter (small = 1.d-5,one=1.d0) logical isf external istrln c read file e0tmp = 0. if (active) call askstr('** name for input xmu data',xmufil) isf = isfeff cc print*, ' readmu calls in2col' call in2col(active, xmufil, mdoc, mpts, iencol, imucol, $ doc, ndoc, etmp, xmutmp, ntmp, isf) cc print*, ' readmu called in2col' if ((.not.active) .and. isf .and. (.not.isfeff)) then i = istrln(xmufil) call messag(' warning: read '//xmufil(1:i)// $ ' as a feff xmu.dat file') end if isfeff = isf c pre-pad feff arrays for mu with zero: c npad number of points to pre-pad with 0 c epad energy grid for pre-padding if (isfeff) then if (active) then call messag(' ') call messag(' Feff''s xmu.dat file may need '// $ '"padding" at low energies:') call askint('** number of points to pad with',npad) call askdp ('** Padding energy grid',epad) end if if ((npad+ntmp).gt.mpts) npad = mpts - ntmp if (epad.le.small) epad = etmp(2) - etmp(1) do 40 i = ntmp, 1, -1 xmutmp(i+npad) = xmutmp(i) etmp(i+npad) = etmp(i) 40 continue do 50 i = npad, 1, -1 etmp(i) = etmp(i+1) - epad xmutmp(i) = 0 50 continue ntmp = ntmp + npad end if c c now guess iatz, e0, elow and ehigh call izgues(etmp,xmutmp,ntmp,e0tmp,iztmp) if (iatz.le.0) then if (isfeff .and. (e0tmp.le.0)) then call findee(ntmp, etmp, xmutmp, e0tmp) call izgues(etmp,xmutmp,ntmp,e0tmp,iztmp) end if iatz = iztmp if (iatz.le.0) iatz = 29 if (active) call askint('** atomic number',iatz) end if if (e0.le.0) then if (active) call askdp('** E0 (in eV)',e0tmp) e0 = e0tmp end if if (active) then call messag(' ') call messag(' mu(E) needs to be put an even energy grid:') call askdp('** energy grid spacing (in eV)',egrid) call messag(' ') call messag(' For smoother results, mu(E) can be') call messag(' extrapolated past it''s input range:') call messag(' (elow = how far below the data'// $ ' range to extrapolate') call messag(' (ehigh= how far above the data'// $ ' range to extrapolate') call askdp('** elow (in eV)',elow) call askdp('** ehigh (in eV)',ehigh) call messag(' ') call messag(' Setting up broadening of '// $ 'Cromer-Liberman data') call askdp('** ewidth (in eV)',ewidth) end if erange = etmp(ntmp) + ehigh - (etmp(1) - elow) npts = min ( mpts, 1 + int(erange / egrid) ) c interpolate onto even grid c convert mu to f'', by multiplying by energy (it will be rescaled by c another constant multiplicitave factor in dkfcn, so as to match the c CL f'', so we don't need to worry about the scale here) e1 = etmp(1) - elow - egrid ipos = 1 e0inv = 1 / max(one, e0) do 100 i = 1, npts energy(i) = e1 + egrid * i call lintrp(etmp,xmutmp,ntmp,energy(i),ipos,f2ex(i)) f2ex(i) = f2ex(i) * energy(i) * e0inv 100 continue return end subroutine in2col(active,filnam,mdoc,mpts, $ ix1,ix2, doc,ndoc,x1,x2,npts,isfeff) c c open and reads two columns from a multi-column data file. c arguments: c filnam file name containing data (in) c mdoc max number of document lines to get (in) c mpts max number of data elements to get (in) c ix1 column to read array x1 from (in) c ix2 column to read array x2 from (in) c doc array of document lines (out) c ndoc number of doc lines returned (out) c x1 first array (out) c x2 second array (out) c npts number of data points (out) c implicit none integer ilen , istrln, j, i, maxwrd, ndoc, npts, iounit integer iexist, ierr, nwords, idoc, id, mdoc,mpts,ncol integer ix1, ix2, ixmax, ixmin parameter(maxwrd = 10) double precision x1(mpts),x2(mpts), zero parameter(zero = 0) logical isdat, ffhead, adddoc, comm, isfeff, active character*(*) filnam, doc(mdoc), commnt*4, ffstr*5,ffend*2 character*30 words(maxwrd), str*100, file*100 external istrln, isdat data commnt, iounit, adddoc /'#*%!', 0, .true./ data ffhead, ffstr, ffend /.false.,' feff','@#'/ ncol = 3 if (active) isfeff = .false. c ixmax = max(ix1,ix2) ixmin = min(ix1,ix2) if (.not.active.and. $ (ixmin.le.0).or.(ixmax.gt.maxwrd)) go to 880 10 format(a) file = filnam 20 continue ilen = istrln(file) if (ilen.le.0) go to 890 c open data file call openfl(iounit, file, 'old', iexist, ierr) if ((iexist.lt.0).or.(ierr.lt.0)) then if (.not.active) go to 900 call messag(' couldn''t find file '//file(:ilen)) call askstr(' type a new file name (or N to abort)', $ file) str = file call smcase(str,'n') if (str.eq.'n') go to 999 go to 20 end if c initialize buffers do 80 j = 1, mdoc doc(j) = ' ' 80 continue do 90 j = 1, mpts x1(j) = zero x2(j) = zero 90 continue do 100 i = 1, maxwrd words(i) = ' ' 100 continue idoc = 0 id = 0 c c get documents from header: up to ndoc 200 continue cc print*, ' line 200', comm, ffhead comm = .false. read(iounit, 10, end = 920, err = 930) str call triml (str) c remove leading comments (followed by optional blanks) from str if ( index(commnt, str(1:1)).ne.0 ) then comm = .true. str(1:1) = ' ' call triml(str) end if c if str is '----', stop adding lines to doc if (str(2:4) .eq. '---') adddoc = .false. c if the str is all numbers and we're not reading a c feff header or a commented out lins, then this is data! if ((.not.(comm.or.ffhead)).and.(isdat(str))) goto 410 c save str in doc if there's room ilen = istrln(str) if (adddoc .and. (idoc .lt. ndoc) .and. ilen.gt.0) then idoc = idoc + 1 doc(idoc) = str endif c test for whether reading feff headers (lines may not be commented out, c but will have ' feff ' in latter part of the first line, and the c magic '@#' characters just before numbers -- zany zabinsky!) if (idoc.eq.1) then call smcase(str,'a') ffhead = (index(str(55:),ffstr).ne.0) isfeff = ffhead ix2 = 2 if (ffhead) ix2 = 4 if (active) then str = 'n' if (ffhead) str = 'y' call askstr('** is this a feff xmu.dat file?',str) call smcase(str,'y') ffhead = (str.eq.'y') isfeff = ffhead call messag(' ') call messag(' What columns are energy and mu(E) in?:') if (ffhead) then ix2 = 4 call messag(' (Feff puts mu in column 4,'// $ ' mu0 in column 5)') end if 320 continue call askint('** column for energy ',ix1) call askint('** column for mu ',ix2) ixmax = max(ix1,ix2) ixmin = min(ix1,ix2) if ((ixmin.le.0).or.(ixmax.gt.maxwrd)) then call messag( ' something''s wrong with '// $ 'those values, try again ...') go to 320 end if end if end if c end first column check if feff xmu / getting of column numbers if (ffhead) ffhead = (str(ilen-1:).ne.ffend) cc print*, ' at goto 200', active goto 200 c c read numerical data cc print*, ' line 400' 400 continue read(iounit, 10, end = 500, err = 980) str 410 continue call triml (str) if (istrln(str).le.0) go to 400 if (id.ge.mpts) go to 500 id = id + 1 nwords = maxwrd call untab(str) call bwords(str,nwords,words) if (nwords.le.1) goto 940 if (nwords.lt.ixmax) goto 950 if (id.eq.1) ncol = nwords if (ncol.ne.nwords) goto 960 call str2dp(words(ix1), x1(id), ierr) if (ierr.ne.0) goto 990 call str2dp(words(ix2), x2(id), ierr) if (ierr.ne.0) goto 990 goto 400 500 continue npts = id if (idoc.le.0) then ndoc = 1 doc(1) = 'in2col: no document line found' else ndoc = idoc end if c close data file and return close(iounit) cc print*, 'in2col done' return c error handling 880 call messag( ' in2col: selected columns out of range') go to 999 890 call messag( ' in2col: no file name given') go to 999 900 call messag( ' in2col: could not find file') go to 990 920 call messag( ' in2col: error reading document lines') go to 990 930 call messag( ' in2col: unexpected end-of-file while '// $ 'reading titles') go to 990 940 call messag( ' in2col: too few columns of numbers !') go to 990 950 call messag( ' in2col: fewer columns found than requested') go to 990 960 call messag( ' in2col: number of columns changed !') go to 990 c error at reading numerical data 980 call messag( ' in2col: error reading numerical data.') 990 call messag( ' in2col: error with file '//file(1:ilen) ) close(iounit) 999 continue stop c end subroutine in2col end c double precision function e0atom(iz,shell) c integer iz, ishell c character*(*) shell, stmp*3 c double precision edge(92,4) c data edge /368*0/ c stmp = shell c call smcase(stmp,'a') c ishell = 0 c if (stmp.eq.'k') ishell = 1 c if (stmp.eq.'l1') ishell = 2 c if (stmp.eq.'l2') ishell = 3 c if (stmp.eq.'l3') ishell = 4 c e0atom = -1 c if (.not.((ishell.eq.0).or.(iz.gt.92).or.(iz.le.0))) c $ e0atom = edge(iz,ishell) c return c end c subroutine izgues(energy,absorb,npts,e0,iz) c given a spectra of mu(e), guess the atomic number c only k and l shells are considered, though it could be expanded. c data used is taken from mcmaster. implicit none integer npts, nedges, iz, nofx parameter (nedges= 315) double precision energy(npts), absorb(npts), e0,ex,edges(nedges) integer iedge(nedges), i external nofx data (edges(i),i = 1, 196) / 0.014,0.025,0.049,0.050,0.055,0.063, $ 0.072,0.073,0.087,0.099,0.100,0.112,0.118,0.135,0.136,0.153, $ 0.162,0.164,0.188,0.193,0.200,0.202,0.238,0.248,0.251,0.284, $ 0.287,0.295,0.297,0.341,0.346,0.350,0.399,0.400,0.402,0.404, $ 0.454,0.461,0.463,0.512,0.520,0.531,0.537,0.574,0.584,0.604, $ 0.639,0.650,0.682,0.686,0.707,0.720,0.754,0.778,0.793,0.842, $ 0.855,0.867,0.872,0.929,0.932,0.952,1.012,1.021,1.044,1.072, $ 1.100,1.115,1.142,1.196,1.218,1.249,1.302,1.305,1.325,1.360, $ 1.414,1.436,1.477,1.530,1.550,1.560,1.596,1.653,1.675,1.726, $ 1.782,1.805,1.839,1.863,1.920,1.940,2.007,2.065,2.080,2.149, $ 2.156,2.216,2.223,2.307,2.371,2.373,2.465,2.472,2.520,2.532, $ 2.625,2.677,2.698,2.793,2.822,2.838,2.866,2.967,3.003,3.043, $ 3.146,3.173,3.202,3.224,3.330,3.351,3.412,3.524,3.537,3.605, $ 3.607,3.727,3.730,3.806,3.929,3.938,4.018,4.038,4.132,4.156, $ 4.238,4.341,4.381,4.465,4.493,4.557,4.612,4.698,4.781,4.852, $ 4.939,4.965,5.012,5.100,5.188,5.247,5.359,5.452,5.465,5.483, $ 5.624,5.713,5.724,5.891,5.965,5.987,5.989,6.165,6.208,6.267, $ 6.441,6.460,6.540,6.549,6.717,6.722,6.835,6.977,7.013,7.112, $ 7.126,7.243,7.312,7.428,7.515,7.618,7.709,7.737,7.790,7.931, $ 8.052,8.071,8.252,8.333,8.358,8.376,8.581,8.648,8.708,8.919/ data (edges(i),i = 197,315) / 8.943,8.979,9.047,9.244,9.265, $ 9.395,9.561,9.618,9.659,9.752,9.881,9.978,10.116,10.204, $ 10.349,10.367,10.488,10.534,10.739,10.870,10.871,11.104, $ 11.136,11.215,11.272,11.542,11.564,11.680,11.868,11.918, $ 11.957,12.098,12.284,12.384,12.525,12.657,12.658,12.824, $ 12.964,13.035,13.273,13.418,13.424,13.474,13.733,13.892, $ 14.209,14.322,14.353,14.612,14.698,14.846,15.198,15.200, $ 15.344,15.708,15.860,16.105,16.300,16.385,17.080,17.167, $ 17.334,17.998,18.053,18.055,18.986,19.692,19.999,20.470, $ 20.947,21.045,21.756,22.117,22.263,23.095,23.220,24.350, $ 25.514,26.711,27.940,29.200,30.491,31.813,33.169,34.582, $ 35.985,37.441,38.925,40.444,41.991,43.569,45.184,46.835, $ 48.520,50.240,51.996,53.789,55.618,57.486,59.390,61.332, $ 63.314,65.351,67.414,69.524,71.676,73.872,76.112,78.395, $ 80.723,83.103,85.528,88.006,90.527,98.417,109.649,115.603, $ 121.760/ data (iedge(i), i=1,315) / 1,2,12,12,3,12,13,13,13,14,14,4,14, $ 15,15,15,16,16,5,16,17,17,17,18,18,6,18,19,19,19,20,20,21,20, $ 7,21,22,22,21,23,23,22,8,24,24,23,25,25,24,9,26,26,25,27,27, $ 26,28,10,28,27,29,29,28,30,30,11,29,31,31,30,32,32,31,12,33, $ 33,32,34,34,33,35,13,35,34,36,36,35,37,14,37,36,38,38,37,39, $ 15,39,38,40,40,41,39,41,16,42,40,42,43,41,43,17,44,42,44,45, $ 43,45,46,18,44,46,47,45,47,48,46,19,48,49,47,50,49,48,20,51, $ 50,49,52,51,50,21,53,52,51,54,53,52,22,55,54,53,56,55,54,23, $ 57,56,55,58,57,59,56,24,58,60,57,59,61,25,58,62,60,59,63,61, $ 26,60,64,62,61,65,63,27,62,66,64,63,67,65,28,68,64,66,69,65, $ 67,70,29,66,71,68,67,72,69,30,68,73,70,69,74,71,31,70,75,72, $ 71,76,32,73,77,72,74,78,73,33,79,75,74,80,76,75,81,34,77,76, $ 82,78,83,77,35,79,78,80,36,79,86,81,80,82,37,81,83,82,38,90, $ 83,39,92,86,40,94,86,41,90,42,90,92,43,92,44,94,94,45,46,47, $ 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67, $ 68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,86,90,92,94/ c guess e0 from spectra call findee(npts,energy,absorb,e0) c find closest energy in table ex = e0/1000 iz = iedge(nofx(ex,edges,nedges)) return end subroutine clcalc(iz, npts, energy, fp, fpp) c cromer-libermann calculation of anomalous scattering factors c arguments: c iz atomic number of element [in] c npts number of elements in energy array [in] c energy array of energies at which to calculate f'/f'' [in] c fp real part of anomalous scattering (f') [out] c fpp imag part of anomalous scattering (f'') [out] c c notes: c 1 energy array is in eV c 2 this code is based on, and modified from the cowan-brennan c routines. data statements were simplified and rearranged, c code was cleaned up to be more in keeping with f77 standard c c matthew newville oct 1996 implicit none integer nparms(92,24), norb(92), iz, i, j, k, npts integer nparmz(24), norbz double precision binden(92,24), xnrg(92,24,11), xsc(92,24,11) double precision benaz(24), xnrgz(24,11), xscz(24,11) double precision relcor(92), kpcor(92), xnrdat(5), kev2ry double precision energy(*), fp(*), fpp(*), ener, f1, f2 parameter (kev2ry = 0.02721d0) c include "cldata.f" data (xnrdat(i),i=1,5)/80.d0,26.7d0,8.9d0,3.0d0,1.0d0/ c data (norb(i), i=1,92) /2*1, 2*2, 2*3, 6*4, 5, 6,8*7, 8, 14*9, $ 2*12,2*13,13*14,3*17,6*18,8*19,3*20,5*21,2*22,2*23,9*24/ c data binden( 1, 1), binden( 2, 1) / 14.d-3, 25.d-3/ data (binden( 3,i),i=1, 2) / 5.4750d-02, 5.3400d-03/ data (binden( 4,i),i=1, 2) / 0.1110d0,8.420d-03/ data (binden( 5,i),i=1, 3) / 0.1880d0,1.347d-02, 4.7d-03/ data (binden( 6,i),i=1, 3) / 0.2838d0,1.951d-02, 6.4d-03/ data (binden( 7,i),i=1, 4) / 0.4016d0,2.631d-02, 9.2d-03,9.2d-03/ data (binden( 8,i),i=1, 4) / 0.5320d0,2.370d-02, 7.1d-03,7.1d-03/ data (binden( 9,i),i=1, 4) / 0.6854d0, 3.1000d-02, 8.6000d-03, $ 8.6000d-03/ data (binden(10,i),i=1, 4) / 0.8669d0 , 4.5000d-02, 1.8300d-02, $ 1.8300d-02/ data (binden(11,i),i=1, 4) / 1.0721d0 , 6.3300d-02, 3.1100d-02, $ 3.1100d-02/ data (binden(12,i),i=1, 4) / 1.3050d0 , 8.9400d-02, 5.1400d-02, $ 5.1400d-02/ data (binden(13,i),i=1, 5) / 1.5596d0 , 0.11770d0 , 7.3100d-02, $ 7.3100d-02, 8.3757d-03/ data (binden(14,i),i=1, 6) / 1.8389d0 , 0.14870d0 , 9.9200d-02, $ 9.9200d-02, 1.1357d-02, 5.0831d-03/ data (binden(15,i),i=1, 7) / 2.1455d0, 0.18930d0, 0.13220d0, $ 0.13220d0, 1.44615d-02, 6.38493d-03, 6.33669d-03/ data (binden(16,i),i=1, 7) / 2.4720d0, 0.22920d0, 0.16480d0, $ 0.16480d0,1.76882d-02, 7.81363d-03, 7.73488d-03/ data (binden(17,i),i=1, 7) / 2.8224d0,0.2702d0,0.2016d0, $ 0.2000d0,1.75000d-02, 6.80000d-03, 6.80000d-03/ data (binden(18,i),i=1, 7) / 3.2029d0,0.3140d0,0.2473d0, $ 0.2452d0,2.53000d-02, 1.24000d-02, 1.24000d-02/ data (binden(19,i),i=1, 7) / 3.60740d0,0.37710d0,0.2963d0, $ 0.2936d0,3.39000d-02,1.78000d-02,1.78000d-02/ data (binden(20,i),i=1, 7) / 4.0381d0,0.43780d0,0.3500d0, $ 0.3464d0,4.37000d-02,2.54000d-02,2.54000d-02/ data (binden(21,i),i=1, 7) / 4.49280d0,0.50040d0,0.4067d0, $ 0.40220d0,5.38000d-02,3.23000d-02,3.23009d-02/ data (binden(22,i),i=1, 7) / 4.9664d0,0.5637d0,0.4615d0, $ 0.4555d0,6.03000d-02, 3.46000d-02, 3.46000d-02/ data (binden(23,i),i=1, 8)/ 5.4651d0,0.6282d0,0.5205d0, $ 0.5129d0,6.6500d-02,3.7800d-02,3.7800d-02,2.2000d-03/ data (binden(24,i),i=1, 9)/ 5.9892d0,0.6946d0,0.5837d0,0.5745d0, $ 7.410d-02, 4.250d-02, 4.250d-02, 2.300d-03, 2.300d-03/ data (binden(25,i),i=1, 9)/ 6.539d0,0.769d0,0.6514d0,0.64030d0, $ 8.3900d-02,4.8600d-02,4.8600d-02,7.2616d-03,7.1437d-03/ data (binden(26,i),i=1, 9)/ 7.112d0,0.8461d0,0.7211d0,0.7081d0, $ 9.290d-02,5.400d-02,5.400d-02,3.560d-03,3.560d-03/ data (binden(27,i),i=1, 9)/ 7.7089d0,0.9256d0,0.7936d0,0.7786d0, $ 0.10070d0,5.950d-02, 5.950d-02, 2.900d-03, 2.900d-03/ data (binden(28,i),i=1, 9)/ 8.3328d0,1.0081d0,0.8719d0,0.8547d0, $ 0.11180d0,6.81d-02,6.81d-02,3.60d-03,3.60d-03/ data (binden(29,i),i=1, 9)/ 8.9789d0,1.0961d0,0.951d0,0.9311d0, $ 0.1198d0,7.3600d-02,7.3600d-02,1.6000d-03,1.6000d-03/ data (binden(30,i),i=1, 9)/ 9.6589d0,1.1936d0,1.0428d0,1.0197d0, $ 0.1359d0,8.66d-02,8.66d-02,8.10d-03,8.10d-03/ data (binden(31,i),i=1, 9)/ 10.367d0,1.2977d0,1.1423d0,1.1154d0, $ 0.1581d0,0.1068d0,0.1029d0,1.74d-02,1.74d-02/ data (binden(32,i),i=1, 9)/ 11.1031d0,1.4143d0,1.2478d0, $ 1.2167d0,0.1800d0,0.1279d0,0.1208d0,2.870d-02,2.870d-02/ data (binden(33,i),i=1, 9)/ 11.8667,1.5265,1.3586,1.3231, $ 0.2035,0.1464,0.1405,4.12d-02,4.12d-02/ data (binden(34,i),i=1, 9)/ 12.6578,1.6539,1.4762, 1.4358, $ 0.2315,0.1682,0.1619,5.67d-02,5.67d-02/ data (binden(35,i),i=1, 9)/ 13.4737, 1.782, 1.596, 1.5499, $ 0.25650,0.1893,0.1815,7.01d-02,6.90d-02/ data (binden(36,i),i=1, 9)/ 14.3256,1.9210,1.7272,1.6749, $ 0.28833,0.2227,0.2138,8.890d-02,8.890d-02/ data (binden(37,i),i=1, 9)/ 15.200, 2.0651, 1.8639, 1.8044, $ 0.32210,0.24740,0.23850,0.11180,0.11030/ data (binden(38,i),i=1,12)/ 16.1046,2.2163,2.0068,1.9396, $ 0.3575, 0.2798,0.2691,0.135,0.1331, $ 3.77d-02, 1.99d-02,1.99d-02/ data (binden(39,i),i=1,12)/ 17.0384,2.3725,2.1555,2.080, $ 0.3936,0.3124,0.3003,0.1596,0.1574, $ 4.54d-02,2.56d-02,2.56d-02/ data (binden(40,i),i=1,13)/ 17.9976, 2.53160, 2.30671, 2.22230, $ 0.43030,0.34420,0.33050,0.18240,0.18000,5.130d-02, $ 2.870d-02,2.870d-02,4.0234d-03/ data (binden(41,i),i=1,13)/ 18.9856, 2.6977, 2.4647, 2.3705, $ 0.46840,0.37840,0.36300,0.2074,0.2046,5.810d-02, $ 3.390d-02,3.390d-02,3.20d-03/ data (binden(42,i),i=1,14)/ 19.9995, 2.8655, 2.6251, 2.5202, $ 0.50460,0.40970,0.39230,0.23030,0.2270,6.180d-02, $ 3.48d-02,3.48d-02,1.80d-03,1.80d-03/ data (binden(43,i),i=1,14)/ 21.0440, 3.0425, 2.7932, 2.6769, $ 0.54760,0.44490,0.42500,0.25640,0.25290,6.840d-02, $ 3.890d-02,3.890d-02,7.012d-03,6.729d-03/ data (binden(44,i),i=1,14)/ 22.1172, 3.2240, 2.9669, 2.8379, $ 0.5850,0.4828,0.4606,0.2836, 0.2794, $ 7.490d-02,4.301d-02,4.301d-02,2.000d-03,2.000d-03/ data (binden(45,i),i=1,14)/ 23.2199, 3.41190, 3.14610, 3.0038, $ 0.62710,0.52100,0.49620,0.31170,0.3070,8.10d-02,4.79d-02, $ 4.79d-02,2.50d-03,2.50d-03/ data (binden(46,i),i=1,14)/ 24.3503,3.6043,3.3303,3.1733,0.6699, $ 0.5591,0.5315,0.3400,0.3347,8.640d-02,5.110d-02, $ 5.110d-02,5.4466d-03,5.0184d-03/ data (binden(47,i),i=1,14)/ 25.514,3.8058,3.5237,3.3511,0.7175, $ 0.6024,0.5714,0.3728,0.3667,9.520d-02,6.260d-02, $ 5.590d-02,3.30d-03,3.30d-03/ data (binden(48,i),i=1,14)/ 26.7112,4.0180,3.7270,3.5375,0.7702, $ 0.6507,0.6165,0.4105,0.4037,0.1076,6.69d-02, $ 6.69d-02,9.30d-03,9.30d-03/ data (binden(49,i),i=1,14)/ 27.9399,4.2375,3.9380,3.7301,0.8256, $ 0.7022,0.6643,0.4508,0.4431,0.1219,7.74d-02,7.74d-02, $ 1.62d-02, 1.62d-02/ data (binden(50,i),i=1,14)/ 29.200,4.4647,4.1561,3.9288,0.8838, $ 0.7564,0.7144,0.4933,0.4848,0.1365,8.86d-02, $ 8.86d-02,2.39d-02,2.39d-02/ data (binden(51,i),i=1,14)/ 30.4912,4.6983,4.3804,4.1322, $ 0.9437,0.8119,0.7656,0.5369,0.5275,0.1520,9.840d-02, $ 9.840d-02,3.14d-02,3.14d-02/ data (binden(52,i),i=1,14)/ 31.8138,4.9392,4.6120,4.3414, $ 1.0060,0.8697,0.8187,0.5825,0.5721,0.1683,0.1102,0.1102, $ 3.980d-02, 3.980d-02/ data (binden(53,i),i=1,14)/ 33.1694,5.1881,4.8521,4.5571,1.0721, $ 0.9305,0.8746,0.6313,0.6194,0.1864,0.1227,0.1227, $ 4.96d-02,4.96d-02/ data (binden(54,i),i=1,14)/ 34.5614,5.4528,5.1037,4.7822,1.1446, $ 0.9990,0.9370,0.6854,0.6723,0.2081,0.1467,0.1467, $ 6.40d-02,6.40d-02/ data (binden(55,i),i=1,17)/ 35.9846,5.7143,5.3594,5.0119,1.2171, $ 1.0650,0.9976,0.7395,0.7255,0.2308,0.1723,0.1616,7.88d-02, $ 7.65d-02,2.27d-02,1.31d-02,1.14d-02/ data (binden(56,i),i=1,17)/ 37.4406,5.9888,5.6236,5.2470,1.2928, $ 1.1367,1.0621,0.7961,0.7807,0.2530,0.1918,0.1797, $ 9.250d-02,8.990d-02,3.901d-02,1.656d-02,1.460d-02/ data (binden(57,i),i=1,17)/ 38.9246,6.2663,5.8906,5.4827,1.3613, $ 1.2044,1.1234,0.8485,0.8317,0.2704,0.2058,0.1914,9.89d-02, $ 9.89d-02,3.23d-02,1.44d-02,1.44d-02/ data (binden(58,i),i=1,18)/ 40.443,6.5488,6.1642,5.7234,1.4346, $ 1.2728,1.1854,0.9013,0.8833,0.2896,0.2233,0.2072,0.101, $ 0.101,8.59d-02,3.78d-02, 1.98d-02, 1.98d-02/ data (binden(59,i),i=1,18)/ 41.991,6.8348,6.4404,5.9643,1.5110, $ 1.3374,1.2422,0.9511,0.9310,0.3045,0.2363,0.2176,0.1132, $ 0.1132,3.50d-03,3.74d-02,2.23d-02,2.23d-02/ data (binden(60,i),i=1,18)/ 43.5689,7.1260,6.7215,6.2079,1.5753, $ 1.4028,1.2974,0.9995,0.9777,0.3152,0.2433,0.2246,0.1175, $ 0.1175,3.00d-03,3.75d-02,2.11d-02,2.11d-02/ data (binden(61,i),i=1,18)/ 45.184,7.4279,7.0128,6.4593,1.6464, $ 1.4714,1.3569,1.0515,1.0269,0.3304,0.2544,0.2360,0.1204, $ 0.1204,4.00d-03,3.75d-02,2.11d-02,2.11d-02/ data (binden(62,i),i=1,18)/ 46.8342, 7.7368,7.3118,6.7162,1.7228, $ 1.5407,1.4198,1.1060,1.0802,0.3457,0.2656,0.2474,0.1290, $ 0.1290,5.50d-03,3.74d-02,2.13d-02,2.13d-02/ data (binden(63,i),i=1,18)/ 48.519,8.0520,7.6171,6.9769,1.8000, $ 1.6139,1.4806,1.1606,1.1309,0.3602,0.2839,0.2566,0.1332, $ 0.1332,2.9115d-03,3.18d-02,2.20d-02,2.20d-02/ data (binden(64,i),i=1,19)/ 50.2391,8.3765,7.9302,7.2428,1.8808, $ 1.6883,1.5440,1.2172,1.1852,0.3758,0.2885,0.2709,0.1405, $ 0.1405,9.2794d-03,8.5242d-03,3.61d-02,2.03d-02,2.03d-02/ data (binden(65,i),i=1,19)/ 51.9957,8.7080,8.2516,7.5140,1.9675, $ 1.7677,1.6113,1.2750,1.2412,0.3979,0.3102,0.2850,0.1470, $ 0.1470,9.40d-03,8.60d-03,3.90d-02,2.54d-02,2.54d-02/ data (binden(66,i),i=1,19)/ 53.7885,9.0458,8.5806,7.7901,2.0468, $ 1.8418,1.6756,1.3325,1.2949,0.4163,0.3318,0.2929,0.1542, $ 0.1542,4.20d-03,4.20d-03,6.29d-02,2.63d-02,2.63d-02/ data (binden(67,i),i=1,19)/ 55.6177,9.3942,8.9178,8.0711,2.1283, $ 1.9228,1.7412,1.3915,1.3514,0.4357,0.3435,0.3066,0.1610, $ 0.1610,3.70d-03,3.70d-03,5.12d-02,2.03d-02,2.03d-02/ data (binden(68,i),i=1,19)/ 57.4855,9.7513,9.2643,8.3579,2.2065, $ 2.0058,1.8118,1.4533,1.4093,0.4491,0.3662,0.3200,0.1767, $ 0.1676,4.30d-03,4.30d-03,5.98d-02,2.94d-02,2.94d-02/ data (binden(69,i),i=1,19)/ 59.3896,10.1157,9.6169,8.6480,2.3068, $ 2.0898,1.8845,1.5146,1.4677,0.4717,0.3859,0.3366,0.1796, $ 0.1796,5.30d-03,5.30d-03,5.32d-02,3.23d-02,3.23d-02/ data (binden(70,i),i=1,19)/ 61.3323,10.4864,9.9782,8.9436,2.3981, $ 2.1730,1.9498,1.5763,1.5278,0.4872,0.3967,0.3435, $ 0.1981,0.1849,6.30d-03,6.30d-03,5.41d-02,2.34d-02,2.34d-02/ data (binden(71,i),i=1,19)/ 63.3138,10.8704,10.3486,9.2441, $ 2.4912,2.2634,2.0236,1.6394,1.5885,0.5062,0.4101,0.3593, $ 0.2048,0.1950,6.90d-03,6.90d-03,5.68d-02,2.80d-02,2.80d-02/ data (binden(72,i),i=1,20)/ 65.3508,11.2707,10.7394,9.5607, $ 2.6009,2.3654,2.1076,1.7164,1.6617,0.5381,0.4370,0.3804, $ 0.2238,0.2137,1.71d-02,1.71d-02,6.49d-02,3.81d-02, $ 3.06d-02,5.00d-03/ data (binden(73,i),i=1, 20)/ 67.4164,11.6815,11.1361,9.8811, $ 2.7080,2.4687,2.1940,1.7932,1.7351,0.5655,0.4648,0.4045, $ 0.2413,0.2293,2.50d-02,2.50d-02,7.11d-02,4.49d-02, $ 3.64d-02,5.70d-03/ data (binden(74,i),i=1,20)/ 69.525,12.0998,11.5440,10.2068, $ 2.81960,2.57490,2.2810,1.8716,1.8092,0.5950,0.4916,0.4253, $ 0.2588,0.2454,3.65d-02,3.36d-02,7.71d-02,4.68d-02, $ 3.56d-02,6.10d-03/ data (binden(75,i),i=1,21)/ 71.6764,12.5267,11.9587,10.5353, $ 2.9317,2.6816,2.3673,1.9489,1.8829,0.6250,0.5179,0.4444, $ 0.2737,0.2602,4.06d-02,4.06d-02,8.28d-02,4.56d-02, $ 3.46d-02,6.063d-03,5.209d-03/ data (binden(76,i),i=1,21)/ 73.8708,12.9680,12.3850,10.8709, $ 3.0485,2.7922,2.4572,2.0308,1.9601,0.6543,0.5465,0.4682, $ 0.2894,0.2728,4.63d-02,4.63d-02,8.37d-02,5.80d-02, $ 4.54d-02,7.0526d-03,6.0279d-03/ data (binden(77,i),i=1,21)/ 76.1110,13.4185,12.8241,11.2152, $ 3.1737,2.9087,2.5507,2.1161,2.0404,0.6901,0.5771,0.4943, $ 0.3114,0.2949,6.34d-02,6.05d-02,9.52d-02,6.30d-02, $ 5.05d-02,8.0627d-03,6.8546d-03/ data (binden(78,i),i=1,21)/ 78.3948,13.8799,13.2726,11.5637, $ 3.2960,3.0265,2.6454,2.2019,2.1216,0.7220,0.6092,0.5190, $ 0.3308,0.3133,7.43d-02,7.11d-02,0.1017,6.53d-02, $ 5.17d-02,7.44d-03,6.125d-03/ data (binden(79,i),i=1,21)/ 80.7249,14.3528,13.7336,11.9187, $ 3.4249,3.1478,2.7430,2.2911,2.2057,0.7588,0.6437,0.5454, $ 0.3520,0.3339,8.64d-02,8.28d-02,0.1078,7.17d-02,5.37d-02, $ 8.308d-03,6.790d-03/ data (binden(80,i),i=1,22)/ 83.1023,14.8393,14.2087,12.2839, $ 3.5616,3.2785,2.8471,2.3849,2.2949,0.8003,0.6769,0.5710, $ 0.3783,0.3598,0.1022,9.85d-02,0.1203,8.05d-02,5.76d-02, $ 6.40d-03,6.40d-03,7.714d-03/ data (binden(81,i),i=1,22)/ 85.5304,15.3467,14.6979,12.6575, $ 3.7041,3.4157,2.9566,2.4851,2.3893,0.8455,0.7213,0.6090, $ 0.4066,0.3862,0.1228,0.1185,0.1363,9.96d-02,7.54d-02, $ 1.53d-02,1.31d-02,9.665d-03/ data (binden(82,i),i=1,23)/ 88.005,15.8608,15.2000,13.0352, $ 3.8507,3.5542,3.0664,2.5856,2.4840,0.8936,0.7639,0.6445, $ 0.4352,0.4129,0.1429,0.1381,0.1473,0.1048,8.60d-02, $ 2.18d-02,1.92d-02,1.17d-02,4.912d-03/ data (binden(83,i),i=1,23)/ 90.526,16.3875,15.7111,13.4186, $ 3.9991,3.6963,3.1769,2.6876,2.5796,0.9382,0.8053,0.6789, $ 0.4636,0.4340,0.1619,0.1574,0.1593,0.1168,9.28d-02, $ 2.65d-02,2.44d-02,1.423d-02,6.179d-03/ data (binden(84,i),i=1,24)/ 93.105,16.9393,16.2443,13.8138, $ 4.14940,3.8541,3.3019,2.7980,2.6830,0.9953,0.8510,0.7050, $ 0.5002,0.4735,0.1753,0.1694,0.1709,0.1257,9.83d-02, $ 3.14d-02,3.14d-02,1.678d-02,7.560d-03,5.395d-03/ data (binden(85,i),i=1,24)/ 95.7299,17.4930,16.7847,14.2135, $ 4.317,4.008,3.426,2.9087,2.7867,1.0420,0.8860,0.7400, $ 0.5332,0.4754,0.1971,0.1906,0.1856,0.1385,0.1084,4.16d-02, $ 3.766d-02,1.934d-02,9.031d-03,6.245d-03/ data (binden(86,i),i=1,24)/ 98.404,18.049,17.337,14.619,4.482, $ 4.1590,3.5380,3.0215,2.8924,1.0970,0.9290,0.7680,0.5666, $ 0.5370,0.2196,0.2126,0.2008,0.1518,0.1188,4.87d-02, $ 4.426d-02,2.194d-02,1.057d-02,7.126d-03/ data (binden(87,i),i=1,24)/ 101.137,18.6390,17.9065,15.0312, $ 4.6520,4.3270,3.6630,3.1362,2.9997,1.1530,0.9800,0.8100, $ 0.6033,0.5770,0.2465,0.2389,0.2200,0.1690,0.1329,5.954d-02, $ 5.455d-02,2.787d-02,1.516d-02,1.061d-02/ data (binden(88,i),i=1,24)/ 103.922,19.2367,18.4843,15.4444, $ 4.8220,4.4895,3.7918,3.2484,3.1049,1.2084,1.0576,0.8791, $ 0.6359,0.6027,0.2989,0.2989,0.2544,0.2004,0.1528, $ 6.72d-02,6.72d-02,4.35d-02,1.88d-02,1.88d-02/ data (binden(89,i),i=1,24)/ 106.755,19.8400,19.0832,15.8710, $ 5.0021,4.6560,3.9090,3.3703,3.2190,1.2690,1.0800,0.8900, $ 0.6750,0.6370,0.3039,0.2952,0.2614,0.2063,0.1632,8.32d-02, $ 7.70d-02,4.05d-02,2.52d-02,1.84d-02/ data (binden(90,i),i=1,24)/ 109.651,20.4721,19.6932,16.3003, $ 5.1823,4.8304,4.0461,3.4909,3.3320,1.3296,1.1682,0.9674, $ 0.7141,0.6764,0.3445,0.3352,0.2903,0.2295,0.1818,9.43d-02, $ 8.79d-02,5.95d-02,4.90d-02,4.30d-02/ data (binden(91,i),i=1,24)/ 112.601,21.1046,20.3137,16.7331, $ 5.3669,5.0009,4.1738,3.6112,3.4418,1.3871,1.2243,1.0067, $ 0.7434,0.7082,0.3712,0.3595,0.3096,0.2336,0.1831,9.66d-02, $ 8.92d-02,4.54d-02,2.85d-02,2.03d-02/ data (binden(92,i),i=1,24)/ 115.606,21.7574,20.9476,17.1663, $ 5.5480,5.1822,4.3034,3.7276,3.5517,1.4408,1.2726,1.0449, $ 0.7804,0.7377,0.3913,0.3809,0.3237,0.2593,0.1951,0.1050, $ 9.63d-02,7.07d-02,4.23d-02,3.23d-02/ c data (kpcor(i),i=3,92) / 1.d-3, 0.d-3, 1.d-3, 1.d-3, 2.d-3, $ 3.d-3, 4.d-3, 4.d-3, 6.d-3, 8.d-3, 8.d-3, 1.1d-2, $ 1.2d-2, 1.4d-2, 1.7d-2, 2.d-2, 2.2d-2, 2.5d-2, 2.8d-2, $ 3.1d-2, 3.5d-2, 3.9d-2, 4.2d-2, 4.8d-2, 5.2d-2, 5.7d-2, $ 6.1d-2, 6.7d-2, 7.3d-2, 7.9d-2, 8.5d-2, 9.2d-2, 9.9d-2, $ 1.06d-1, 1.14d-1, 1.22d-1, 1.3d-1, 1.38d-1, 1.47d-1, $ 1.56d-1, 1.66d-1, 1.75d-1, 1.86d-1, 1.96d-1, 2.07d-1, $ 2.19d-1, 2.3d-1, 2.42d-1, 2.55d-1, 2.67d-1, 2.81d-1, $ 2.94d-1, 3.08d-1, 3.23d-1, 3.38d-1, 3.54d-1, 3.69d-1, $ 3.86d-1, 4.02d-1, 4.19d-1, 4.37d-1, 4.55d-1, 4.74d-1, $ 4.93d-1, 5.12d-1, 5.32d-1, 5.53d-1, 5.74d-1, 5.96d-1, $ 6.17d-1, 6.40d-1, 6.63d-1, 6.87d-1, 7.11d-1, 7.36d-1, $ 7.62d-1, 7.88d-1, 8.14d-1, 8.42d-1, 8.70d-1, 8.99d-1, $ 9.28d-1, 9.57d-1, 9.88d-1, 1.018d0,1.050d0,1.083d0, $ 1.115d0,1.149d0,1.184d0/ c data (relcor(i),i=3,92) / 1.d-3, 1.d-3, 2.d-3, 3.d-3, 5.d-3, $ 7.d-3, 9.d-3, 1.1d-2, 1.4d-2, 1.8d-2, 2.1d-2, 2.6d-2, $ 3.0d-2, 3.5d-2, 4.1d-2, 4.7d-2, 5.3d-2, 6.0d-2, 6.8d-2, $ 7.5d-2, 8.4d-2, 9.3d-2, 0.102, 0.113, 0.123, 0.135, 0.146, $ 0.159, 0.172, 0.186, 0.200, 0.215, 0.231, 0.247, 0.264, $ 0.282, 0.300, 0.319, 0.338, 0.359, 0.380, 0.401, 0.424, $ 0.447, 0.471, 0.496, 0.521, 0.547, 0.575, 0.602, 0.631, $ 0.660, 0.690, 0.721, 0.753, 0.786, 0.819, 0.854, 0.8899, $ 0.9252, 0.9622, 1.000, 1.039, 1.079, 1.119, 1.161, 1.204, $ 1.248, 1.293, 1.338, 1.385, 1.433, 1.482, 1.532, 1.583, $ 1.636, 1.689, 1.743, 1.799, 1.856, 1.914, 1.973, 2.033, $ 2.095, 2.157, 2.221, 2.287, 2.353, 2.421, 2.490/ c data (nparms( 3, i), i=1, 2) /2*10/ data (nparms( 4, i), i=1, 2) /2*10/ data (nparms( 5, i), i=1, 3) /3*10/ data (nparms( 6, i), i=1, 3) /3*10/ data (nparms( 7, i), i=1, 4) /4*10/ data (nparms( 8, i), i=1, 4) /4*10/ data (nparms( 9, i), i=1, 4) /4*10/ data (nparms(10, i), i=1, 4) /4*10/ data (nparms(11, i), i=1, 4) /11, 3*10/ data (nparms(12, i), i=1, 4) /11, 3*10/ data (nparms(13, i), i=1, 5) /11, 4*10/ data (nparms(14, i), i=1, 6) /11, 5*10/ data (nparms(15, i), i=1, 7) /11, 6*10/ data (nparms(16, i), i=1, 7) /11, 6*10/ data (nparms(17, i), i=1, 7) /11, 6*10/ data (nparms(18, i), i=1, 7) /11, 6*10/ data (nparms(19, i), i=1, 7) /11, 6*10/ data (nparms(20, i), i=1, 7) /11, 6*10/ data (nparms(21, i), i=1, 7) /11, 6*10/ data (nparms(22, i), i=1, 7) /11, 6*10/ data (nparms(23, i), i=1, 8) /11, 7*10/ data (nparms(24, i), i=1, 9) /11, 8*10/ data (nparms(25, i), i=1, 9) /11, 8*10/ data (nparms(26, i), i=1, 9) /11, 8*10/ data (nparms(27, i), i=1, 9) /11, 8*10/ data (nparms(28, i), i=1, 9) /2*11, 7*10/ data (nparms(29, i), i=1, 9) /2*11, 7*10/ data (nparms(30, i), i=1, 9) /4*11, 5*10/ data (nparms(31, i), i=1, 9) /4*11, 5*10/ data (nparms(32, i), i=1, 9) /4*11, 5*10/ data (nparms(33, i), i=1, 9) /4*11, 5*10/ data (nparms(34, i), i=1, 9) /4*11, 5*10/ data (nparms(35, i), i=1, 9) /4*11, 5*10/ data (nparms(36, i), i=1, 9) /4*11, 5*10/ data (nparms(37, i), i=1, 9) /4*11, 5*10/ data (nparms(38, i), i=1,12) /4*11, 8*10/ data (nparms(39, i), i=1,12) /4*11, 8*10/ data (nparms(40, i), i=1,13) /4*11, 9*10/ data (nparms(41, i), i=1,13) /4*11, 9*10/ data (nparms(42, i), i=1,14) /4*11, 10*10/ data (nparms(43, i), i=1,14) /4*11, 10*10/ data (nparms(44, i), i=1,14) /4*11, 10*10/ data (nparms(45, i), i=1,14) /4*11, 10*10/ data (nparms(46, i), i=1,14) /4*11, 10*10/ data (nparms(47, i), i=1,14) /4*11, 10*10/ data (nparms(48, i), i=1,14) /4*11, 10*10/ data (nparms(49, i), i=1,14) /4*11, 10*10/ data (nparms(50, i), i=1,14) /4*11, 10*10/ data (nparms(51, i), i=1,14) /4*11, 10*10/ data (nparms(52, i), i=1,14) /5*11, 9*10/ data (nparms(53, i), i=1,14) /5*11, 9*10/ data (nparms(54, i), i=1,14) /5*11, 9*10/ data (nparms(55, i), i=1,17) /6*11, 11*10/ data (nparms(56, i), i=1,17) /7*11, 10*10/ data (nparms(57, i), i=1,17) /7*11, 10*10/ data (nparms(58, i), i=1,18) /8*11, 10*10/ data (nparms(59, i), i=1,18) /7*11, 11*10/ data (nparms(60, i), i=1,18) /7*11, 11*10/ data (nparms(61, i), i=1,18) /9*11, 9*10/ data (nparms(62, i), i=1,18) /9*11, 9*10/ data (nparms(63, i), i=1,18) /9*11, 9*10/ data (nparms(64, i), i=1,19) /9*11, 10*10/ data (nparms(65, i), i=1,19) /9*11, 10*10/ data (nparms(66, i), i=1,19) /9*11, 10*10/ data (nparms(67, i), i=1,19) /9*11, 10*10/ data (nparms(68, i), i=1,19) /9*11, 10*10/ data (nparms(69, i), i=1,19) /9*11, 10*10/ data (nparms(70, i), i=1,19) /9*11, 10*10/ data (nparms(71, i), i=1,19) /9*11, 10*10/ data (nparms(72, i), i=1,20) /9*11, 11*10/ data (nparms(73, i), i=1,20) /9*11, 11*10/ data (nparms(74, i), i=1,20) /9*11, 11*10/ data (nparms(75, i), i=1,21) /9*11, 12*10/ data (nparms(76, i), i=1,21) /9*11, 12*10/ data (nparms(77, i), i=1,21) /9*11, 12*10/ data (nparms(78, i), i=1,21) /9*11, 12*10/ data (nparms(79, i), i=1,21) /10, 8*11, 12*10/ data (nparms(80, i), i=1,22) /10, 8*11, 13*10/ data (nparms(81, i), i=1,22) /10, 8*11, 13*10/ data (nparms(82, i), i=1,23) /10, 8*11, 14*10/ data (nparms(83, i), i=1,23) /10, 8*11, 14*10/ data (nparms(84, i), i=1,24) /10, 8*11, 15*10/ data (nparms(85, i), i=1,24) /10, 9*11, 14*10/ data (nparms(86, i), i=1,24) /10, 9*11, 14*10/ data (nparms(87, i), i=1,24) /10, 9*11, 14*10/ data (nparms(88, i), i=1,24) /10, 10*11, 13*10/ data (nparms(89, i), i=1,24) /10, 10*11, 13*10/ data (nparms(90, i), i=1,24) /10, 10*11, 13*10/ data (nparms(91, i), i=1,24) /10, 11*11, 12*10/ data (nparms(92, i), i=1,24) /10, 11*11, 12*10/ c data (xsc( 3, 1,i),i=1,10)/1.301553100d-03,5.167718977d-02, $ 2.04572558, 73.6826706, 2367.26001, 6.531799585d-02, $ 2174.78979, 189729.859, 1618910.88, 3022227.00/ data (xsc( 3, 2,i),i=1,10)/2.456936636d-05,8.661831380d-04, $ 3.219022229d-02, 1.14365172, 35.4625931, 2.25543308, $ 17745.8359, 440576.219, 1333729.63, 1448481.13/ data (xsc( 4, 1,i),i=1,10)/5.501731299d-03,0.216350690, $ 8.28356647, 277.734161, 7976.12500,2.560380660d-02, $ 866.962646, 81105.0859, 771925.063, 2051785.63/ data (xsc( 4, 2,i),i=1,10)/2.081731509d-04,7.329026237d-03, $ 0.263835013, 8.65200520, 237.105286, 4.02921534, $ 31112.8418, 621490.375, 1648233.50, 1031229.06/ data (xsc( 5, 1,i),i=1,10)/1.651980355d-02,0.639404237, $ 23.6173916, 741.657715, 19577.5059,1.335961837d-02, $ 447.895050, 43871.5781, 435450.094, 1167093.38/ data (xsc( 5, 2,i),i=1,10)/8.280635811d-04,2.931262553d-02, $ 1.02559197, 31.2025394, 776.768555, 3.39596200, $ 26979.2715, 581240.375, 1365937.50, 870618.875/ data (xsc( 5, 3,i),i=1,10)/1.498534630d-07,1.311181040d-05, $ 1.204593806d-03,0.104659230, 7.67965651,0.400328189, $ 30321.8242, 1377606.13, 6894477.00, 14448549.0/ data (xsc( 6, 1,i),i=1,10)/4.022771120d-02, 1.52750432, $ 54.3804855, 1610.34399, 39562.0547,8.320189081d-03, $ 275.130463, 27737.3262, 281872.813, 765563.438/ data (xsc( 6, 2,i),i=1,10)/2.234945307d-03,7.857172936d-02, $ 2.65592504, 75.4173965, 1707.09705, 2.68837976, $ 21804.5703, 492388.406, 1077516.38, 678007.188/ data (xsc( 6, 3,i),i=1,10)/1.561928684d-06,1.310063381d-04, $ 1.182175893d-02,0.941143930, 63.7416344, 1.06329751, $ 76115.4297, 3070108.00, 11207961.0, 18938980.0/ data (xsc( 7, 1,i),i=1,10)/8.473966271d-02, 3.15485168, $ 108.397171, 3054.15259, 70342.9141,5.561249331d-03, $ 182.452774, 18816.3184, 196109.391, 545683.125/ data (xsc( 7, 2,i),i=1,10)/4.933742341d-03,0.170914933, $ 5.56366348, 148.861649, 3093.78003, 2.19790149, $ 17981.0859, 406345.625, 854337.875, 509074.750/ data (xsc( 7, 3,i),i=1,10)/5.528737347d-06,4.511051520d-04, $ 3.958846256d-02, 2.99486256, 182.204178,0.817081749, $ 60970.3750, 2508748.50, 7526410.50, 10705870.0/ data (xsc( 7, 4,i),i=1,10)/2.359686050d-06,2.124716120d-04, $ 1.939095370d-02, 1.48126984, 90.3186340,0.402362198, $ 30338.6758, 1251751.25, 3764252.50, 5362577.00/ data (xsc( 8, 1,i),i=1,10)/0.160504997, 5.85706615, $ 194.312134, 5221.68848, 111657.734,4.204052500d-03, $ 135.399689, 14075.4473, 147497.984, 417832.938/ data (xsc( 8, 2,i),i=1,10)/9.546677582d-03,0.325384855, $ 10.1911001, 256.266083, 4902.52197, 5.65027618, $ 33413.8359, 514644.063, 839019.875, 466361.438/ data (xsc( 8, 3,i),i=1,10)/1.560978126d-05,1.245745225d-03, $ 0.105102435, 7.58270359, 419.397400, 5.73374319, $ 230141.391, 3959252.50, 8621531.00, 10632627.0/ data (xsc( 8, 4,i),i=1,10)/1.317946135d-05,1.174610457d-03, $ 0.102651693, 7.48369217, 415.102356, 5.65493631, $ 228981.328, 3953836.50, 8638009.00, 10673776.0/ data (xsc( 9, 1,i),i=1,10)/0.280725479, 10.0407209, $ 322.387848, 8296.84570, 164967.891,3.362095449d-03, $ 102.271927, 10743.9775, 113532.219, 328530.594/ data (xsc( 9, 2,i),i=1,10)/1.684946194d-02,0.564888954, $ 17.0781956, 405.708954, 7241.59912, 4.16125727, $ 25509.5801, 409591.969, 663627.438, 342294.719/ data (xsc( 9, 3,i),i=1,10)/3.755814032d-05,2.953280695d-03, $ 0.240616351, 16.3673668, 847.311951, 6.02639341, $ 224444.438, 3326680.75, 6272801.50, 6917325.50/ data (xsc( 9, 4,i),i=1,10)/4.756415365d-05,4.174075089d-03, $ 0.351481318, 24.1645908, 1255.78772, 8.86773872, $ 334560.344, 4983429.00, 9439702.00, 10439668.0/ data (xsc(10, 1,i),i=1,10)/0.461048841, 16.1760311, $ 504.382843, 12496.9648, 235837.344,2.751233522d-03, $ 77.5974884, 8264.11914, 88570.9688, 262354.688/ data (xsc(10, 2,i),i=1,10)/2.783099376d-02,0.915888429, $ 26.7597961, 604.638611, 10104.3848, 2.09819627, $ 14937.3867, 281951.719, 503242.344, 240853.344/ data (xsc(10, 3,i),i=1,10)/8.132271614d-05,6.272922270d-03, $ 0.495196134, 31.8960037, 1569.13635,0.647712648, $ 45953.0586, 1562452.63, 3068620.50, 2868416.00/ data (xsc(10, 4,i),i=1,10)/1.363403426d-04,1.177385636d-02, $ 0.960985005, 62.6071243, 3095.17505, 1.25661778, $ 91011.9609, 3113751.25, 6153211.00, 5780000.50/ data (xsc(11, 1,i),i=1,11)/0.719678938, 24.7575035, $ 749.831604, 17837.6504,0.0000, 40.4996109, $ 5139.83252, 44760.4258, 137345.703, 242031.281, 194894.047/ data (xsc(11, 2,i),i=1,10)/4.549028352d-02, 1.47548819, $ 41.7576790, 896.968445, 13934.4736, 1.17296302, $ 9320.54199, 201357.344, 518224.594, 355563.563/ data (xsc(11, 3,i),i=1,10)/1.788535155d-04,1.378671546d-02, $ 1.06470704, 65.0138245, 2978.45313,0.172413975, $ 16576.0566, 938347.875, 2437551.50, 1397262.13/ data (xsc(11, 4,i),i=1,10)/3.001188161d-04,2.587055042d-02, $ 2.06276727, 127.485764, 5874.59863,0.329745412, $ 32774.9375, 1869307.13, 4888040.00, 2814550.00/ data (xsc(12, 1,i),i=1,11)/ 1.07748890, 36.3590317, $ 1071.03394, 24479.2656,0.0000, 31.9452724, $ 4077.84326, 35751.1758, 110366.938, 192795.563, 195278.125/ data (xsc(12, 2,i),i=1,10)/7.123360038d-02, 2.27467704, $ 62.3694611, 1277.60583, 18539.1563,0.615424693, $ 5559.92969, 139329.063, 436742.563, 487870.688/ data (xsc(12, 3,i),i=1,10)/3.576920135d-04,2.731011063d-02, $ 2.05052972, 119.007393, 5120.11670,4.636003450d-02, $ 5738.63086, 450838.188, 2111516.75, 1120995.88/ data (xsc(12, 4,i),i=1,10)/5.990033969d-04,5.106269196d-02, $ 3.96210837, 232.971024, 10091.8086,8.693627268d-02, $ 11313.0215, 896493.500, 4229249.00, 2257596.50/ data (xsc(13, 1,i),i=1,11)/ 1.55751050, 51.5725327, $ 1478.33850, 32428.1270,0.0000, 25.9100971, $ 3315.86548, 29194.6914, 90483.5703, 157688.125, 167248.469/ data (xsc(13, 2,i),i=1,10)/0.107318684, 3.36706495, $ 89.3895264, 1748.37085, 23709.1934,0.384381026, $ 3783.99194, 104031.250, 369606.750, 494166.094/ data (xsc(13, 3,i),i=1,10)/6.674015895d-04,5.023531988d-02, $ 3.65229011, 201.835403, 8114.76563,2.148255892d-02, $ 2929.53931, 269588.344, 1592395.75, 1433475.88/ data (xsc(13, 4,i),i=1,10)/1.112943166d-03,9.348440170d-02, $ 7.03663921, 394.388367, 15981.2051,3.948111460d-02, $ 5758.07031, 535215.063, 3186256.00, 2885157.25/ data (xsc(13, 5,i),i=1,10)/7.879838347d-03,0.224162638, $ 5.65236759, 109.529068, 1489.20581, 58.8560448, $ 45791.7344, 266193.563, 71344.7734, 347980.688/ data (xsc(14, 1,i),i=1,11)/ 2.18636870, 71.0673218, $ 1984.17834, 41781.9570,0.0000, 21.3957233, $ 2740.57544, 24228.9063, 75374.5000, 131083.328, 142535.563/ data (xsc(14, 2,i),i=1,10)/0.156227812, 4.81014633, $ 123.655083, 2312.42090, 29410.8008,0.263393164, $ 2770.06958, 81446.5391, 310726.656, 444896.500/ data (xsc(14, 3,i),i=1,10)/1.176461577d-03,8.714818954d-02, $ 6.12822819, 323.639862, 12196.4600,1.126069110d-02, $ 1652.95496, 172008.016, 1209017.13, 1656120.25/ data (xsc(14, 4,i),i=1,10)/1.959844725d-03,0.161601678, $ 11.7720785, 631.226135, 24000.7852,2.011139318d-02, $ 3237.92676, 340892.344, 2417061.00, 3331674.75/ data (xsc(14, 5,i),i=1,10)/1.411816571d-02,0.401187301, $ 9.87669754, 183.102570, 2358.03467, 44.4429398, $ 42208.6055, 313736.125, 162653.281, 80005.2031/ data (xsc(14, 6,i),i=1,10)/6.249973376d-05,3.996924497d-03, $ 0.261709213, 13.4452877, 475.203278, 32.8313789, $ 122243.977, 216556.953, 11214985.0, 32290612.0/ data (xsc(15, 1,i),i=1,11)/ 2.99109888, 95.5345459, $ 2601.35400, 52644.3086,0.0000, 17.7680607, $ 2290.75854, 20345.6113, 63556.0977, 110514.297, 121777.781/ data (xsc(15, 2,i),i=1,10)/0.220793724, 6.66793537, $ 166.183395, 2980.13110, 35851.7344,0.176890522, $ 1945.68689, 61948.0781, 254934.203, 385898.719/ data (xsc(15, 3,i),i=1,10)/1.978232060d-03,0.144055828, $ 9.80049324, 496.497589, 17670.9141,6.065215450d-03, $ 949.569885, 110775.891, 887976.250, 1629468.25/ data (xsc(15, 4,i),i=1,10)/3.278829157d-03,0.265864342, $ 18.7691917, 966.596558, 34750.7227,1.049841568d-02, $ 1852.47876, 219093.813, 1773571.75, 3276616.50/ data (xsc(15, 5,i),i=1,10)/2.243389189d-02,0.631072283, $ 15.1140366, 268.409637, 3296.84058, 34.8709259, $ 38114.8672, 321233.156, 227968.109, 4926.22803/ data (xsc(15, 6,i),i=1,10)/1.338380243d-04,8.599226363d-03, $ 0.548111379, 26.8109093, 882.155823, 30.0270767, $ 129890.227, 204304.078, 12901790.0, 30727232.0/ data (xsc(15, 7,i),i=1,10)/5.532951764d-05,3.981444519d-03, $ 0.261431783, 12.9882307, 431.338715, 14.9381475, $ 65373.6758, 102237.445, 6433917.50, 15425960.0/ data (xsc(16, 1,i),i=1,11)/ 4.00297880, 125.645302, $ 3336.60425, 64908.2656,0.0000, 15.0581884, $ 1949.67810, 17367.4648, 54399.3633, 94464.5781, 105087.281/ data (xsc(16, 2,i),i=1,10)/0.303693503, 8.99559212, $ 217.438217, 3737.79248, 42614.5664,0.130291492, $ 1515.55530, 50511.7813, 218041.891, 344550.156/ data (xsc(16, 3,i),i=1,10)/3.195327241d-03,0.228410363, $ 15.0264416, 729.671326, 24527.0723,4.100469407d-03, $ 656.268738, 81419.5938, 699896.000, 1532038.00/ data (xsc(16, 4,i),i=1,10)/5.274787080d-03,0.419763833, $ 28.6901493, 1417.97913, 48208.3945,6.840255111d-03, $ 1274.83459, 160726.359, 1396900.50, 3080348.75/ data (xsc(16, 5,i),i=1,10)/3.336768597d-02,0.925767303, $ 21.5492477, 366.828888, 4318.39111, 28.5174408, $ 34478.0508, 311271.250, 263840.156, 5097.19873/ data (xsc(16, 6,i),i=1,10)/2.531304199d-04,1.616474427d-02, $ 0.997793913, 46.4188728, 1431.60376, 26.2621441, $ 127479.820, 190660.828, 13336919.0, 26273610.0/ data (xsc(16, 7,i),i=1,10)/2.077342215d-04,1.485415734d-02, $ 0.948392630, 44.8675652, 1397.84741, 26.2266979, $ 128772.211, 192191.422, 13350413.0, 26480780.0/ data (xsc(17, 1,i),i=1,11)/ 5.25414228, 162.141266, $ 4201.44678, 78930.8828,0.0000, 12.9650497, $ 1677.90186, 14986.1406, 47054.5273, 81640.5781, 91375.2969/ data (xsc(17, 2,i),i=1,10)/0.408017427, 11.8550882, $ 278.075928, 4582.91162, 49648.3242,0.106112912, $ 1241.04224, 42662.8477, 190254.953, 310957.031/ data (xsc(17, 3,i),i=1,10)/4.981699865d-03,0.349480033, $ 22.2610455, 1037.18677, 33091.1836,2.997984877d-03, $ 469.981140, 61464.7539, 560663.125, 1384550.63/ data (xsc(17, 4,i),i=1,10)/8.185919374d-03,0.639391720, $ 42.3526001, 2009.42236, 64820.0625,4.982291255d-03, $ 933.104126, 123397.305, 1131530.13, 2813498.00/ data (xsc(17, 5,i),i=1,10)/4.733937234d-02, 1.29461861, $ 29.2959709, 478.582855, 5403.11523, 39.7703285, $ 42692.8984, 342222.719, 275203.469, 19442.5215/ data (xsc(17, 6,i),i=1,10)/4.393915879d-04,2.781425416d-02, $ 1.66258872, 73.4911575, 2122.91431, 66.6478119, $ 197430.234, 462803.625, 20593570.0, 28671536.0/ data (xsc(17, 7,i),i=1,10)/5.393139436d-04,3.811880946d-02, $ 2.36163688, 106.294724, 3105.21143, 96.3641510, $ 295091.563, 665788.375, 30513632.0, 43049564.0/ data (xsc(18, 1,i),i=1,11)/ 6.78045702, 205.872787, $ 5211.41455,0.0000,0.0000, 11.2206945, $ 1451.25696, 13007.5967, 40969.3633, 71071.4063, 79858.5313/ data (xsc(18, 2,i),i=1,10)/0.537745595, 15.3215637, $ 349.145355, 5530.56934, 57249.9609,8.058060706d-02, $ 990.483459, 35425.1172, 163749.750, 276381.094/ data (xsc(18, 3,i),i=1,10)/7.535587996d-03,0.518801868, $ 32.0660934, 1437.97949, 43965.0234,2.033560770d-03, $ 325.793732, 45366.8281, 443202.438, 1192494.38/ data (xsc(18, 4,i),i=1,10)/1.232103910d-02,0.945011258, $ 60.8128281, 2780.07568, 86040.3672,3.250034759d-03, $ 644.774658, 91015.1250, 894592.375, 2427436.25/ data (xsc(18, 5,i),i=1,10)/6.486418098d-02, 1.74860966, $ 38.5277634, 606.492554, 6609.77051, 19.1251431, $ 27166.3066, 268914.438, 284672.375, 42450.8164/ data (xsc(18, 6,i),i=1,10)/7.182126865d-04,4.501340538d-02, $ 2.61000037, 110.124474, 3000.17920, 13.2102203, $ 91612.4297, 198423.344, 10275668.0, 15258303.0/ data (xsc(18, 7,i),i=1,10)/1.170826145d-03,8.175848424d-02, $ 4.92371416, 211.844940, 5842.46826, 25.1585808, $ 181295.203, 407273.000, 20135490.0, 30561258.0/ data (xsc(19, 1,i),i=1,11)/ 8.61559391, 257.381226, $ 6361.01416,0.0000,0.0000, 9.75314999, $ 1266.26306, 11374.3389, 35897.2773, 62242.4883, 70476.5469/ data (xsc(19, 2,i),i=1,10)/0.695426166, 19.4439659, $ 430.745331, 6562.66797, 64891.7344,6.338828057d-02, $ 788.968140, 29275.7754, 139685.906, 254293.172/ data (xsc(19, 3,i),i=1,10)/1.109857671d-02,0.749247313, $ 44.9230194, 1933.97839, 56408.4883,1.546652056d-03, $ 238.654984, 34589.0430, 352950.938, 918931.813/ data (xsc(19, 4,i),i=1,10)/1.805134118d-02, 1.35872793, $ 84.9236145, 3731.17749, 110303.227,2.377696102d-03, $ 470.763550, 69328.6250, 712621.875, 1866130.50/ data (xsc(19, 5,i),i=1,10)/8.954766393d-02, 2.38756752, $ 51.3165588, 778.871826, 8213.99219, 11.3997135, $ 19505.7285, 222586.125, 398011.063, 198676.953/ data (xsc(19, 6,i),i=1,10)/1.234294148d-03,7.772114873d-02, $ 4.40419769, 177.011063, 4530.33447, 6.19070959, $ 62596.0508, 371854.625, 2104738.75, 26572800.0/ data (xsc(19, 7,i),i=1,10)/2.018780215d-03,0.141051933, $ 8.31027031, 341.028473, 8845.39355, 11.7073212, $ 123850.641, 762296.438, 4081948.00, 52652676.0/ data (xsc(20, 1,i),i=1,11)/ 10.8012180, 317.499695, $ 7660.65479,0.0000,0.0000, 8.58940220, $ 1112.51978, 10011.2959, 31645.1211, 54821.7813, 62620.7578/ data (xsc(20, 2,i),i=1,10)/0.886400521, 24.3066006, $ 523.445618, 7676.92627, 72531.1406,5.192638189d-02, $ 645.348877, 24651.0664, 120790.688, 221150.344/ data (xsc(20, 3,i),i=1,10)/1.598180458d-02, 1.05744219, $ 61.5380554, 2544.06226, 70789.5391,1.159604290d-03, $ 180.250580, 26956.6484, 284359.000, 774663.750/ data (xsc(20, 4,i),i=1,10)/2.587469853d-02, 1.90957880, $ 115.956467, 4897.30762, 138282.609,1.726604300d-03, $ 354.880554, 54049.7734, 574529.375, 1575394.13/ data (xsc(20, 5,i),i=1,10)/0.121023893, 3.18752408, $ 66.8213043, 979.660217, 10024.3721, 7.39177656, $ 14683.5410, 186835.031, 421672.531, 383247.125/ data (xsc(20, 6,i),i=1,10)/1.983818365d-03,0.123837739, $ 6.82274866, 261.554993, 6312.27588, 2.69190574, $ 38421.3984, 406731.313, 350113.156, 4626078.50/ data (xsc(20, 7,i),i=1,10)/3.220621264d-03,0.223583385, $ 12.8490229, 503.650238, 12333.3105, 5.03576231, $ 75807.5547, 827790.938, 700751.563, 9119556.00/ data (xsc(21, 1,i),i=1,11)/ 13.3754511, 387.105499, $ 9124.26074,0.0000,0.0000, 7.63245869, $ 985.740845, 8887.63965, 28145.1992, 48765.2773, 55765.8750/ data (xsc(21, 2,i),i=1,10)/ 1.11466527, 29.9885063, $ 628.362183, 8892.73633, 80391.9453,4.445857555d-02, $ 544.732727, 21299.0742, 106495.711, 198788.484/ data (xsc(21, 3,i),i=1,10)/2.259455808d-02, 1.46455920, $ 82.8303070, 3300.45557, 88189.5781,9.547692607d-04, $ 142.253525, 21883.9707, 237792.031, 660498.188/ data (xsc(21, 4,i),i=1,10)/3.633770719d-02, 2.63203478, $ 155.574493, 6340.27686, 172182.266,1.371221151d-03, $ 279.049683, 43849.1992, 480606.969, 1344320.00/ data (xsc(21, 5,i),i=1,10)/0.157317132, 4.07192469, $ 83.1233444, 1180.57031, 11781.1436, 5.22513533, $ 11549.5293, 158022.641, 381183.219, 393901.906/ data (xsc(21, 6,i),i=1,10)/2.940912731d-03,0.180802792, $ 9.67005634, 354.716370, 8119.83496, 1.61626744, $ 27698.6602, 365879.313, 277917.594, 1868140.75/ data (xsc(21, 7,i),i=1,10)/4.759747069d-03,0.325096637, $ 18.1512680, 681.726746, 15855.2959, 2.99188566, $ 54482.2539, 742810.500, 575778.188, 3671602.75/ data (xsc(22, 1,i),i=1,11)/ 16.3783951, 466.729553, $ 10741.3164,0.0000,0.0000, 6.81414413, $ 881.864502, 7959.78369, 25236.7109, 43721.8906, 50025.1211/ data (xsc(22, 2,i),i=1,10)/ 1.38360548, 36.5285339, $ 744.958191, 10184.4697, 88024.4688,3.695865348d-02, $ 473.029541, 18804.6387, 95396.0859, 180583.906/ data (xsc(22, 3,i),i=1,10)/3.134495765d-02, 1.98984599, $ 109.354668, 4199.17480, 107379.313,8.467737352d-04, $ 120.095116, 18723.7754, 206431.688, 581895.938/ data (xsc(22, 4,i),i=1,10)/5.011180788d-02, 3.55951881, $ 204.702057, 8047.52686, 209401.109,1.190659008d-03, $ 235.652359, 37602.7813, 418222.250, 1187201.38/ data (xsc(22, 5,i),i=1,10)/0.199400857, 5.07217216, $ 100.853806, 1388.92346, 13522.3828, 4.71482325, $ 10629.2871, 147303.156, 361211.375, 393500.281/ data (xsc(22, 6,i),i=1,10)/4.219437949d-03,0.254280508, $ 13.1719360, 462.252045, 10030.2881, 1.74592924, $ 28436.1680, 360342.531, 275575.281, 1358419.00/ data (xsc(22, 7,i),i=1,10)/6.784337573d-03,0.454848289, $ 24.6371078, 886.506653, 19570.9004, 3.21035886, $ 55870.5195, 732970.688, 575839.313, 2673432.25/ data (xsc(23, 1,i),i=1,11)/ 19.8593178, 557.293579, $ 12524.9434,0.0000,0.0000, 6.15256977, $ 793.150940, 7166.36816, 22744.7285, 39397.2227, 45205.3203/ data (xsc(23, 2,i),i=1,10)/ 1.69736111, 43.9810371, $ 873.232361, 11541.8584, 95371.6563,3.313467652d-02, $ 418.870239, 16851.0996, 86395.4922, 165305.313/ data (xsc(23, 3,i),i=1,10)/4.274908826d-02, 2.65845490, $ 142.064880, 5268.31689, 129182.891,7.210918702d-04, $ 102.273438, 16152.1201, 180568.219, 515993.250/ data (xsc(23, 4,i),i=1,10)/6.792763621d-02, 4.73335934, $ 265.038300, 10073.6582, 251756.672,9.996999288d-04, $ 200.471283, 32481.7402, 366493.250, 1054867.88/ data (xsc(23, 5,i),i=1,10)/0.248241663, 6.20659971, $ 120.277809, 1608.43457, 15290.3027, 4.38909674, $ 9963.03711, 138626.078, 342480.813, 385242.594/ data (xsc(23, 6,i),i=1,10)/5.895125680d-03,0.348192871, $ 17.4781113, 587.836182, 12128.6934, 1.71744359, $ 27477.3926, 344220.781, 266125.000, 1052709.13/ data (xsc(23, 7,i),i=1,10)/9.413871914d-03,0.619588792, $ 32.5734215, 1124.89624, 23648.6406, 3.13177872, $ 53901.5117, 701182.125, 560652.000, 2076638.38/ data (xsc(23, 8,i),i=1,10)/7.826552064d-06,1.302643330d-03, $ 0.193255246, 20.0691166, 1380.06238, 1381.32471, $ 5239243.00, 9182668.00, 10412750.0, 10710503.0/ data (xsc(24, 1,i),i=1,11)/ 23.8584499, 659.701660, $ 14486.9111,0.0000,0.0000, 5.58467245, $ 716.948975, 6486.02197, 20613.4258, 35712.5781, 40916.9805/ data (xsc(24, 2,i),i=1,10)/ 2.06217980, 52.4386368, $ 1014.19061, 12981.0391, 102526.242,3.025845997d-02, $ 375.973938, 15277.1689, 79048.1406, 151559.484/ data (xsc(24, 3,i),i=1,10)/5.744704604d-02, 3.50119233, $ 182.161697, 6545.91699, 154516.766,6.451446097d-04, $ 87.9408264, 14092.8447, 160078.109, 468845.625/ data (xsc(24, 4,i),i=1,10)/9.077656269d-02, 6.20592070, $ 338.715240, 12490.7891, 301108.000,8.811053121d-04, $ 171.919571, 28343.8750, 325225.781, 960945.375/ data (xsc(24, 5,i),i=1,10)/0.302706599, 7.43203974, $ 140.450073, 1828.28052, 17014.6992, 3.90112567, $ 9012.97559, 126689.531, 309776.031, 321821.813/ data (xsc(24, 6,i),i=1,10)/7.973670959d-03,0.460968494, $ 22.4341736, 725.293579, 14298.7051, 1.47912800, $ 24396.9609, 310075.875, 223923.734, 1302581.75/ data (xsc(24, 7,i),i=1,10)/1.263785642d-02,0.815583825, $ 41.6369019, 1384.22351, 27850.6758, 2.66806769, $ 47729.0195, 632149.500, 472555.719, 2572403.00/ data (xsc(24, 8,i),i=1,10)/1.598890958d-05,2.490416402d-03, $ 0.352081299, 35.3093948, 2332.49268, 1990.50281, $ 5731099.50, 11103850.0, 15900373.0, 17578990.0/ data (xsc(24, 9,i),i=1,10)/2.306908527d-06,4.717691918d-04, $ 7.798123360d-02, 8.36031055, 565.273315, 482.098938, $ 1422491.13, 2800122.25, 4079126.25, 4554578.50/ data (xsc(25, 1,i),i=1,11)/ 28.4208565, 774.182983, $ 16600.3594,0.0000,0.0000, 5.09475040, $ 650.499634, 5888.91309, 18730.2344, 32452.0781, 37298.2930/ data (xsc(25, 2,i),i=1,10)/ 2.47825813, 61.8827705, $ 1166.31567, 14459.9814, 109372.039,2.737544663d-02, $ 333.641083, 13715.8770, 71665.7734, 139514.672/ data (xsc(25, 3,i),i=1,10)/7.602304220d-02, 4.54017782, $ 229.838562, 7990.76465, 180338.203,5.802452797d-04, $ 75.9000168, 12276.8643, 140810.891, 412271.844/ data (xsc(25, 4,i),i=1,10)/0.119360931, 8.00909424, $ 425.921082, 15215.7480, 351552.875,7.861307240d-04, $ 148.008759, 24696.9512, 286419.781, 845586.250/ data (xsc(25, 5,i),i=1,10)/0.369769335, 8.92678928, $ 164.650696, 2087.09033, 18974.6934, 3.25346279, $ 7935.61279, 114448.820, 292233.063, 339664.719/ data (xsc(25, 6,i),i=1,10)/1.085056923d-02,0.614776731, $ 29.0170918, 900.749329, 16910.4805, 1.21343887, $ 20973.2129, 287629.000, 238536.297, 650341.813/ data (xsc(25, 7,i),i=1,10)/1.704382896d-02, 1.08166397, $ 53.6815720, 1716.14941, 32937.5547, 2.16276741, $ 40929.7813, 586108.750, 510700.938, 1289947.25/ data (xsc(25, 8,i),i=1,10)/2.829528239d-05,4.537343513d-03, $ 0.637378931, 61.7960281, 3924.17334, 42.0984802, $ 1352013.25, 6780917.00, 5107832.00, 3621647.25/ data (xsc(25, 9,i),i=1,10)/4.043392892d-06,8.592494996d-04, $ 0.141584083, 14.6815014, 954.535461, 10.6563883, $ 346167.406, 1705718.13, 1301684.50, 926458.625/ data (xsc(26, 1,i),i=1,11)/ 33.5967026, 901.826782, $ 18909.1035,0.0000,0.0000, 4.64799356, $ 593.258423, 5374.18408, 17106.8340, 29643.8125, 34122.8516/ data (xsc(26, 2,i),i=1,10)/ 2.95297790, 72.4341125, $ 1331.50403, 16011.6406, 115667.063,2.514671162d-02, $ 299.203613, 12430.0166, 65528.4492, 128504.328/ data (xsc(26, 3,i),i=1,10)/9.943902493d-02, 5.81886387, $ 286.807678, 9667.25781, 209151.594,5.338012706d-04, $ 66.8126221, 10892.3428, 126080.281, 372604.250/ data (xsc(26, 4,i),i=1,10)/0.155008718, 10.2135296, $ 529.719604, 18373.6797, 407788.563,7.196301012d-04, $ 129.786392, 21899.6582, 256620.547, 765136.438/ data (xsc(26, 5,i),i=1,10)/0.443230689, 10.5243616, $ 189.634857, 2344.99683, 20846.9414, 2.90282345, $ 7199.48584, 105066.070, 271252.344, 318037.219/ data (xsc(26, 6,i),i=1,10)/1.434014179d-02,0.796495140, $ 36.4943275, 1089.90161, 19528.9355, 1.07614696, $ 18903.8281, 265300.969, 225420.891, 544294.313/ data (xsc(26, 7,i),i=1,10)/2.241079509d-02, 1.39496934, $ 67.2663040, 2072.01074, 38024.9414, 1.89621890, $ 36795.9922, 540918.875, 485733.313, 1083631.13/ data (xsc(26, 8,i),i=1,10)/4.385668217d-05,6.915745325d-03, $ 0.943884850, 88.1911469, 5344.88770, 904.588257, $ 4360846.00, 6479449.50, 6033488.00, 5995079.50/ data (xsc(26, 9,i),i=1,10)/1.248026183d-05,2.616845304d-03, $ 0.418635994, 41.8461266, 2598.32959, 436.012756, $ 2171087.50, 3276084.50, 3056089.75, 3007959.75/ data (xsc(27, 1,i),i=1,11)/ 39.4313164, 1043.13147, $ 21369.3008,0.0000,0.0000, 4.28146601, $ 543.329163, 4923.98242, 15683.9902, 27184.9941, 31321.7324/ data (xsc(27, 2,i),i=1,10)/ 3.49209929, 84.1281891, $ 1508.71106, 17605.7676, 121267.266,2.347338758d-02, $ 270.816925, 11345.8652, 60245.4531, 118855.930/ data (xsc(27, 3,i),i=1,10)/0.128448009, 7.37002563, $ 353.904449, 11571.7295, 239973.906,4.955939366d-04, $ 59.5110245, 9754.95801, 113755.008, 338721.719/ data (xsc(27, 4,i),i=1,10)/0.199023858, 12.8761759, $ 651.491699, 21956.6172, 468721.469,6.732242764d-04, $ 115.055496, 19594.3516, 231614.719, 696498.438/ data (xsc(27, 5,i),i=1,10)/0.527080059, 12.2973413, $ 216.458298, 2613.66479, 22692.3418, 2.73499870, $ 6767.11426, 98785.1719, 255470.359, 301436.031/ data (xsc(27, 6,i),i=1,10)/1.868808270d-02, 1.01760614, $ 45.2823868, 1302.37842, 22269.2207,0.973131120, $ 17233.8945, 245676.391, 212413.641, 467092.094/ data (xsc(27, 7,i),i=1,10)/2.898808010d-02, 1.77265680, $ 83.1538925, 2470.61206, 43352.5391, 1.69353569, $ 33457.4688, 501269.844, 460572.344, 933397.188/ data (xsc(27, 8,i),i=1,10)/6.596191088d-05,1.024698000d-02, $ 1.36048698, 122.744514, 7140.04639, 2703.98633, $ 5272268.00, 5839494.00, 6107424.50, 6859508.00/ data (xsc(27, 9,i),i=1,10)/2.791640509d-05,5.796468351d-03, $ 0.903280079, 87.2194901, 5200.96289, 1960.57092, $ 3948209.75, 4443491.50, 4623939.50, 5131735.50/ data (xsc(28, 1,i),i=1,11)/ 45.9692841, 1198.94641, $ 23975.1094,0.0000,0.0000, 3.95673132, $ 499.031403, 4524.92383, 14424.6455, 25003.7090, 28779.6367/ data (xsc(28, 2,i),i=1,11)/ 4.09878159, 97.0018768, $ 1697.90784, 19234.1719,0.0000, 175.452911, $ 8759.09961, 41247.1641, 85691.0078, 115743.359, 125379.633/ data (xsc(28, 3,i),i=1,10)/0.164238393, 9.24035645, $ 432.607697, 13745.6699, 277654.313,4.599943059d-04, $ 52.9345589, 8730.52051, 102716.945, 308360.781/ data (xsc(28, 4,i),i=1,10)/0.252628744, 16.0622597, $ 793.752747, 26041.0527, 541307.000,6.338458625d-04, $ 101.764656, 17515.0469, 209193.891, 634732.625/ data (xsc(28, 5,i),i=1,10)/0.620443940, 14.2436867, $ 245.278503, 2896.93066, 24583.4199, 2.32250309, $ 6039.97852, 89677.1250, 235188.766, 278220.125/ data (xsc(28, 6,i),i=1,10)/2.409890480d-02, 1.28517413, $ 55.5597305, 1541.96960, 25191.3965,0.763312697, $ 14306.6006, 218936.094, 199737.891, 384962.188/ data (xsc(28, 7,i),i=1,10)/3.709980473d-02, 2.22665858, $ 101.645332, 2918.94946, 49043.4727, 1.30890584, $ 27669.1055, 446311.094, 435478.656, 771988.000/ data (xsc(28, 8,i),i=1,10)/9.720342496d-05,1.483889204d-02, $ 1.91603458, 167.094742, 9355.44727, 1645.66589, $ 4322541.00, 4872569.00, 4804619.50, 5332216.00/ data (xsc(28, 9,i),i=1,10)/5.445885472d-05,1.115813758d-02, $ 1.69257736, 158.038025, 9076.38281, 1582.09875, $ 4310802.50, 4948048.50, 4847296.50, 5294123.00/ data (xsc(29, 1,i),i=1,11)/ 53.2751999, 1370.01917, $ 0.0000,0.0000,0.0000, 3.67557979, $ 460.387970, 4176.02441, 13321.4180, 23094.5840, 26531.3652/ data (xsc(29, 2,i),i=1,11)/ 4.77699661, 111.155106, $ 1901.57800, 20946.1465,0.0000, 159.816452, $ 8044.51953, 38107.1836, 79578.3594, 107951.578, 98264.7188/ data (xsc(29, 3,i),i=1,10)/0.207876742, 11.4773922, $ 524.464844, 16219.5195, 335328.406,4.353651893d-04, $ 47.9885559, 7946.92432, 94237.9219, 285755.063/ data (xsc(29, 4,i),i=1,10)/0.317746878, 19.8555527, $ 959.083496, 30679.8008, 642349.813,6.144578801d-04, $ 91.8376389, 15937.9561, 192159.094, 590128.125/ data (xsc(29, 5,i),i=1,10)/0.722816169, 16.2981033, $ 274.493652, 3175.11328, 26342.4785, 2.21426272, $ 5730.03467, 84846.7969, 216483.391, 234566.063/ data (xsc(29, 6,i),i=1,10)/3.050390072d-02, 1.59164131, $ 66.8567581, 1792.96069, 27991.2402,0.722355902, $ 13405.5195, 202315.969, 164977.609, 484288.344/ data (xsc(29, 7,i),i=1,10)/4.648753628d-02, 2.73926282, $ 121.781357, 3385.16455, 54478.8164, 1.22389197, $ 25846.0547, 413024.906, 362458.844, 968524.375/ data (xsc(29, 8,i),i=1,10)/1.341273601d-04,1.955577545d-02, $ 2.42353272, 204.523788, 11062.6572, 31380.8027, $ 4706225.00, 6409198.00, 8098560.00, 9343090.00/ data (xsc(29, 9,i),i=1,10)/1.116064741d-04,2.188922837d-02, $ 3.18954372, 288.272064, 16006.7266, 45622.2109, $ 7098642.00, 9932945.00, 12575751.0, 14364417.0/ data (xsc(30, 1,i),i=1,11)/ 61.3851280, 1556.50842, $ 0.0000,0.0000,0.0000, 3.41738033, $ 424.861633, 3855.01636, 12305.6807, 21342.2305, 24597.9238/ data (xsc(30, 2,i),i=1,11)/ 5.53230429, 126.530487, $ 2115.26636, 22648.3418,0.0000, 144.203690, $ 7324.24951, 34937.3711, 73252.3047, 99417.7656, 107036.820/ data (xsc(30, 3,i),i=1,11)/0.260641187, 14.1196003, $ 629.830200, 18958.1777,0.0000, 27.0905952, $ 5521.70898, 53473.4570, 167394.891, 300247.656, 1333241.00/ data (xsc(30, 4,i),i=1,11)/0.395631582, 24.3039589, $ 1147.85352, 35802.5313,0.0000, 51.2061539, $ 11047.5537, 108699.633, 343778.188, 622572.875, 2775663.50/ data (xsc(30, 5,i),i=1,10)/0.843118131, 18.7137108, $ 308.696930, 3499.22192, 28351.6152, 1.81062496, $ 4876.25684, 74630.8828, 200414.328, 237135.188/ data (xsc(30, 6,i),i=1,10)/3.875831515d-02, 1.98363042, $ 81.0585175, 2100.58325, 31268.1074,0.500795305, $ 10337.0840, 176975.906, 176503.344, 277110.688/ data (xsc(30, 7,i),i=1,10)/5.864527449d-02, 3.39699197, $ 147.175522, 3960.25513, 60918.1406,0.831809580, $ 19836.1797, 360242.563, 388554.844, 559752.813/ data (xsc(30, 8,i),i=1,10)/1.970313460d-04,2.921710163d-02, $ 3.58537722, 293.221649, 15270.9492, 132.655106, $ 1802453.38, 3597675.00, 2548656.25, 2326434.25/ data (xsc(30, 9,i),i=1,10)/1.636254747d-04,3.274735808d-02, $ 4.72995329, 414.446899, 22173.4941, 185.929138, $ 2675326.50, 5466531.50, 3880210.50, 3443699.50/ data (xsc(31, 1,i),i=1,11)/ 70.3515015, 1759.00732, $ 0.0000,0.0000,0.0000, 3.18604612, $ 392.892303, 3565.45703, 11387.8984, 19762.4121, 22863.1387/ data (xsc(31, 2,i),i=1,11)/ 6.36879921, 143.186615, $ 2339.80249, 24352.5195,0.0000, 130.087662, $ 6664.97998, 32003.0059, 67459.7031, 93002.2422, 97879.8594/ data (xsc(31, 3,i),i=1,11)/0.323959708, 17.2229671, $ 750.230164, 21983.3828,0.0000, 23.8705845, $ 4887.52295, 47695.3945, 150168.469, 264292.719, 1161609.88/ data (xsc(31, 4,i),i=1,11)/0.488045543, 29.4898682, $ 1362.54773, 41448.9023,0.0000, 44.8492928, $ 9771.77344, 97009.0781, 308733.250, 547964.938, 2423530.50/ data (xsc(31, 5,i),i=1,10)/0.980047762, 21.4168129, $ 346.233002, 3849.91260, 30489.5234, 1.32787907, $ 3933.51074, 63336.6367, 180888.016, 223851.828/ data (xsc(31, 6,i),i=1,10)/4.889723286d-02, 2.45786095, $ 97.8323288, 2453.60913, 34869.2188,0.302032202, $ 7056.10400, 145255.656, 194211.641, 153909.406/ data (xsc(31, 7,i),i=1,10)/7.358220965d-02, 4.18986750, $ 176.936600, 4610.36816, 67755.8047,0.556340277, $ 14740.4688, 307470.469, 427068.250, 334535.438/ data (xsc(31, 8,i),i=1,10)/2.864034032d-04,4.266745225d-02, $ 5.15593910, 408.520752, 20417.7539, 8.49055195, $ 496642.375, 3697577.00, 1791704.50, 1466864.75/ data (xsc(31, 9,i),i=1,10)/2.360964572d-04,4.774709046d-02, $ 6.80612516, 578.010925, 29699.7559, 11.3159914, $ 733049.250, 5574049.00, 2732383.00, 2190759.75/ data (xsc(32, 1,i),i=1,11)/ 80.2246170, 1978.03235, $ 0.0000,0.0000,0.0000, 2.97958446, $ 364.208313, 3305.44434, 10563.2871, 18339.8008, 21252.4922/ data (xsc(32, 2,i),i=1,11)/ 7.28964853, 161.231857, $ 2578.17993, 26116.5684,0.0000, 116.147964, $ 6021.05811, 29166.0547, 61864.8750, 85900.4766, 91946.7969/ data (xsc(32, 3,i),i=1,11)/0.399251997, 20.8421402, $ 887.159058, 25318.9590,0.0000, 21.1208858, $ 4340.14258, 42661.2109, 135139.531, 236204.406, 1025463.19/ data (xsc(32, 4,i),i=1,11)/0.597486913, 35.5078125, $ 1605.66748, 47667.3398,0.0000, 39.4249001, $ 8668.75293, 86800.4922, 278110.656, 490046.188, 2151649.50/ data (xsc(32, 5,i),i=1,10)/ 1.13551497, 24.4313889, $ 387.218262, 4224.90674, 32690.6797, 1.06691349, $ 3305.13623, 55324.1563, 165297.047, 210959.625/ data (xsc(32, 6,i),i=1,10)/6.146106869d-02, 3.03055429, $ 117.449364, 2851.64014, 38660.9688,0.194859102, $ 5125.17773, 121457.352, 203937.344, 119521.008/ data (xsc(32, 7,i),i=1,10)/9.169522673d-02, 5.13813210, $ 211.667389, 5344.65771, 75049.6797,0.374449104, $ 11211.8652, 263858.656, 451811.719, 274452.563/ data (xsc(32, 8,i),i=1,10)/4.109158472d-04,6.092090160d-02, $ 7.22076845, 554.850220, 26606.1992, 1.40949738, $ 170372.672, 2955295.25, 1788004.63, 925162.063/ data (xsc(32, 9,i),i=1,10)/3.384672746d-04,6.817138195d-02, $ 9.52997208, 785.181580, 38735.9609, 1.78750610, $ 250344.313, 4433116.00, 2723435.00, 1394704.25/ data (xsc(33, 1,i),i=1,11)/ 91.0590286, 2214.20728, $ 0.0000,0.0000,0.0000, 2.77999401, $ 338.074158, 3071.30420, 9819.92090, 17059.8027, 19765.7715/ data (xsc(33, 2,i),i=1,11)/ 8.30234146, 180.560242, $ 2823.69092, 27807.3613,0.0000, 106.028755, $ 5528.84961, 26914.7109, 57309.3477, 79884.0313, 86638.7656/ data (xsc(33, 3,i),i=1,11)/0.488622487, 25.0425739, $ 1041.92041, 28968.4316,0.0000, 18.8089008, $ 3873.24927, 38317.7344, 122051.578, 212553.844, 910310.875/ data (xsc(33, 4,i),i=1,11)/0.725964069, 42.4437675, $ 1879.37708, 54474.1758,0.0000, 34.8414116, $ 7723.30566, 77956.7031, 251346.531, 441191.563, 1911485.38/ data (xsc(33, 5,i),i=1,10)/ 1.31026614, 27.7612228, $ 431.583313, 4623.30566, 34990.5742,0.875532150, $ 2808.80566, 48673.4727, 152043.938, 200912.766/ data (xsc(33, 6,i),i=1,10)/7.672012597d-02, 3.71009231, $ 139.956955, 3287.16162, 42463.3164,0.146437481, $ 4137.73193, 106420.070, 207359.031, 121932.625/ data (xsc(33, 7,i),i=1,10)/0.113692299, 6.26289845, $ 251.658844, 6162.21240, 82752.8125,0.268081605, $ 8669.26953, 226513.859, 457978.469, 282961.406/ data (xsc(33, 8,i),i=1,10)/5.811402225d-04,8.526003361d-02, $ 9.88842010, 737.480530, 33899.0352,0.408280015, $ 74780.4766, 2276189.50, 1982255.38, 636077.063/ data (xsc(33, 9,i),i=1,10)/4.769114603d-04,9.527547657d-02, $ 13.0436487, 1043.49854, 49382.5664,0.488065064, $ 109408.219, 3403490.75, 3013125.75, 961699.813/ data (xsc(34, 1,i),i=1,11)/ 102.904449, 2467.74854, $ 0.0000,0.0000,0.0000, 2.61308599, $ 314.814301, 2859.95776, 9148.33203, 15902.4307, 18405.3477/ data (xsc(34, 2,i),i=1,11)/ 9.41354561, 201.409302, $ 3084.02319, 29570.8711,0.0000, 95.5265350, $ 5028.90283, 24670.2402, 52813.6211, 73890.2188, 80790.6172/ data (xsc(34, 3,i),i=1,11)/0.593881845, 29.8914223, $ 1216.38818, 32970.6836,0.0000, 16.7941189, $ 3464.03857, 34490.4727, 110469.086, 192158.172, 806454.875/ data (xsc(34, 4,i),i=1,11)/0.875946045, 50.3962593, $ 2186.65649, 61936.3945,0.0000, 30.8629723, $ 6894.74365, 70160.8828, 227644.938, 399123.906, 1695917.13/ data (xsc(34, 5,i),i=1,10)/ 1.50731444, 31.4317169, $ 479.496704, 5048.24072, 37444.2422,0.671760857, $ 2349.33813, 42372.9219, 138259.844, 189295.625/ data (xsc(34, 6,i),i=1,10)/9.510219097d-02, 4.51131201, $ 165.746719, 3769.60205, 46480.4180,0.111424357, $ 3291.01318, 92255.5781, 204266.703, 134721.031/ data (xsc(34, 7,i),i=1,10)/0.139976755, 7.58119965, $ 297.261536, 7063.01318, 90829.4453,0.190035895, $ 6817.16602, 195496.141, 450909.063, 315883.531/ data (xsc(34, 8,i),i=1,10)/8.087955648d-04,0.117163680, $ 13.2909241, 963.809387, 42543.8438,0.137163624, $ 34927.3047, 1639086.38, 2139142.50, 459565.406/ data (xsc(34, 9,i),i=1,10)/6.616109749d-04,0.130725905, $ 17.5188789, 1363.39148, 62003.9180,0.154018119, $ 50843.1367, 2443793.00, 3244723.25, 694652.125/ data (xsc(35, 1,i),i=1,11)/ 115.801857, 2738.54492, $ 0.0000,0.0000,0.0000, 2.46435618, $ 293.933472, 2669.65356, 8542.25879, 14855.8311, 17168.5137/ data (xsc(35, 2,i),i=1,11)/ 10.6241693, 223.629333, $ 3352.69434, 31288.7969,0.0000, 87.0761642, $ 4614.44434, 22768.4023, 48947.3555, 68661.2578, 75400.8125/ data (xsc(35, 3,i),i=1,11)/0.717057228, 35.4425697, $ 1410.52295, 37236.1719,0.0000, 15.1906128, $ 3129.47437, 31291.8672, 100618.641, 174956.828, 717155.438/ data (xsc(35, 4,i),i=1,11)/ 1.04939413, 59.4305878, $ 2526.89600, 69876.7578,0.0000, 27.7121754, $ 6221.36328, 63677.0000, 207570.500, 364118.344, 1505880.75/ data (xsc(35, 5,i),i=1,10)/ 1.72405887, 35.4125748, $ 530.380676, 5485.78857, 39851.4297,0.576584041, $ 2067.87671, 38239.3828, 128469.820, 181360.719/ data (xsc(35, 6,i),i=1,10)/0.117057204, 5.44646025, $ 194.888123, 4290.66504, 50516.0938,9.125851095d-02, $ 2744.77466, 81830.6953, 199421.891, 151311.875/ data (xsc(35, 7,i),i=1,10)/0.171111077, 9.11055565, $ 348.548157, 8031.59326, 98924.9609,0.153152615, $ 5720.55713, 174393.688, 441951.531, 357866.969/ data (xsc(35, 8,i),i=1,10)/1.109156408d-03,0.158323511, $ 17.5431156, 1235.59436, 52167.1211,7.276616246d-02, $ 21845.5039, 1291753.50, 2164522.00, 369368.375/ data (xsc(35, 9,i),i=1,10)/9.028668865d-04,0.176223963, $ 23.0945625, 1745.56506, 75881.2969,8.406757563d-02, $ 33285.5859, 1971108.13, 3277090.25, 564616.125/ data (xsc(36, 1,i),i=1,11)/ 129.995651, 3029.05200, $ 0.0000,0.0000,0.0000, 2.32620788, $ 274.610352, 2494.08398, 7984.88086, 13894.3145, 16032.0732/ data (xsc(36, 2,i),i=1,11)/ 11.9420261, 247.392990, $ 3634.12915, 33032.5078,0.0000, 78.6450119, $ 4222.15674, 20975.0977, 45307.5313, 63711.9375, 70149.6953/ data (xsc(36, 3,i),i=1,11)/0.860745907, 41.8030548, $ 1629.10864, 41976.5313,0.0000, 13.6485691, $ 2812.35938, 28296.9355, 91485.9141, 159344.422, 637128.125/ data (xsc(36, 4,i),i=1,11)/ 1.25032532, 69.7208557, $ 2908.56104, 78711.8125,0.0000, 24.6885414, $ 5580.72559, 57580.0781, 188882.234, 332067.063, 1340001.13/ data (xsc(36, 5,i),i=1,10)/ 1.96369970, 39.7445793, $ 584.965515, 5951.28271, 42458.3047,0.475202024, $ 1761.07068, 33711.1406, 117089.836, 170235.375/ data (xsc(36, 6,i),i=1,10)/0.143166572, 6.53821802, $ 228.273178, 4881.62988, 55085.2852,6.140151992d-02, $ 2028.23376, 67512.3281, 185534.875, 159878.906/ data (xsc(36, 7,i),i=1,10)/0.208088011, 10.8912735, $ 407.198456, 9133.87207, 108257.883,9.887553006d-02, $ 4190.48828, 143476.719, 410401.406, 378941.063/ data (xsc(36, 8,i),i=1,10)/1.498913509d-03,0.210859850, $ 22.8473740, 1567.29126, 63664.1602,3.360760957d-02, $ 12333.9443, 935434.938, 2128649.75, 295130.188/ data (xsc(36, 9,i),i=1,10)/1.216916484d-03,0.234330356, $ 30.0603981, 2215.63501, 92852.1797,3.355485573d-02, $ 17778.7051, 1389055.50, 3219008.75, 444752.625/ data (xsc(37, 1,i),i=1,11)/ 145.150543, 3335.24902, $ 0.0000,0.0000,0.0000, 2.20369673, $ 257.035278, 2335.36548, 7478.15186, 13017.0439, 15004.7373/ data (xsc(37, 2,i),i=1,11)/ 13.3684654, 272.545593, $ 3922.27734, 34714.9336,0.0000, 71.6623535, $ 3874.45020, 19358.7090, 41990.6445, 59185.3477, 64918.2656/ data (xsc(37, 3,i),i=1,11)/ 1.02672589, 49.0009155, $ 1869.27454, 46924.0781,0.0000, 12.3343239, $ 2535.96387, 25624.2520, 83175.4922, 145147.594, 169550.125/ data (xsc(37, 4,i),i=1,11)/ 1.48078465, 81.2901382, $ 3325.66699, 87919.4688,0.0000, 22.1339550, $ 5025.31738, 52153.3359, 171869.922, 302482.156, 355350.250/ data (xsc(37, 5,i),i=1,10)/ 2.22920394, 44.4258423, $ 642.403442, 6425.02148, 45004.0195,0.379439354, $ 1512.92029, 29823.3379, 106568.219, 166562.719/ data (xsc(37, 6,i),i=1,10)/0.173848987, 7.78626299, $ 264.755524, 5475.88672, 59050.4336,5.199510977d-02, $ 1728.84705, 60143.6719, 179115.750, 170479.313/ data (xsc(37, 7,i),i=1,10)/0.250936806, 12.9117928, $ 471.177307, 10247.3936, 116533.945,8.001378179d-02, $ 3515.19214, 126855.000, 395169.250, 401144.719/ data (xsc(37, 8,i),i=1,10)/1.996008214d-03,0.276897550, $ 29.3404846, 1958.40479, 76366.8516,1.569856517d-02, $ 6946.48096, 651206.750, 2144910.75, 288034.063/ data (xsc(37, 9,i),i=1,10)/1.618464827d-03,0.307255805, $ 38.5445099, 2763.93921, 111082.711,1.564608514d-02, $ 10406.0605, 990321.813, 3254537.25, 431920.219/ data (xsc(38, 1,i),i=1,11)/ 161.513519, 3660.20239, $ 0.0000,0.0000,0.0000, 2.09155250, $ 241.108521, 2189.63208, 7012.84424, 12210.6865, 14059.6348/ data (xsc(38, 2,i),i=1,11)/ 14.9101200, 299.185394, $ 4219.23926, 36356.2305,0.0000, 65.4292450, $ 3560.53760, 17888.4688, 38957.1836, 55047.1719, 60405.5820/ data (xsc(38, 3,i),i=1,11)/ 1.21865380, 57.1402168, $ 2133.73535, 52165.9063,0.0000, 11.1423483, $ 2294.35181, 23263.1074, 75764.1719, 132247.688, 150195.922/ data (xsc(38, 4,i),i=1,11)/ 1.74423289, 94.2742844, $ 3783.10938, 97674.4453,0.0000, 19.8181324, $ 4538.41113, 47343.8086, 156657.875, 275882.625, 315142.156/ data (xsc(38, 5,i),i=1,10)/ 2.51823068, 49.4545937, $ 703.053589, 6912.58838, 47542.7813,0.320201725, $ 1313.70667, 26578.0039, 97467.1953, 153493.984/ data (xsc(38, 6,i),i=1,10)/0.209908247, 9.22296047, $ 305.693665, 6123.24658, 63259.9023,4.140869156d-02, $ 1399.07043, 51847.1016, 167731.375, 180220.813/ data (xsc(38, 7,i),i=1,10)/0.300864190, 15.2228489, $ 542.591614, 11452.9717, 125273.719,6.202661991d-02, $ 2845.76807, 109597.852, 370477.844, 422457.781/ data (xsc(38, 8,i),i=1,10)/2.632827265d-03,0.359631956, $ 37.2268562, 2414.14160, 90173.9453,8.880086243d-03, $ 4397.25391, 476697.594, 2032991.00, 424226.844/ data (xsc(38, 9,i),i=1,10)/2.128628781d-03,0.398270935, $ 48.8483047, 3404.98462, 131123.516,8.409592323d-03, $ 6564.34180, 725246.188, 3091865.00, 635316.875/ data (xsc(38,10,i),i=1,10)/0.378550559, 7.14977789, $ 99.8566971, 995.345764, 7467.83545, 21.4249725, $ 13344.4141, 124349.555, 205973.406, 104676.906/ data (xsc(38,11,i),i=1,10)/2.590393834d-02, 1.07259893, $ 34.1239853, 668.743408, 7179.04785, 32.5392952, $ 33407.7227, 113940.352, 2081546.50, 15789259.0/ data (xsc(38,12,i),i=1,10)/3.694827110d-02, 1.76024485, $ 60.2213287, 1243.12451, 14006.2578, 57.3781700, $ 68820.7734, 243546.422, 3774906.50, 30677134.0/ data (xsc(39, 1,i),i=1,11)/ 179.146790, 4003.60840, $ 0.0000,0.0000,0.0000, 1.98952651, $ 226.568222, 2056.57666, 6588.13281, 11473.4834, 13194.2031/ data (xsc(39, 2,i),i=1,11)/ 16.5722656, 327.370148, $ 4525.74902, 38015.5039,0.0000, 60.0163879, $ 3284.59888, 16586.6406, 36256.3047, 51340.8867, 56210.4727/ data (xsc(39, 3,i),i=1,11)/ 1.43939900, 66.3263550, $ 2426.01465, 57802.6680,0.0000, 10.1674337, $ 2085.79395, 21220.9609, 69344.5781, 121139.367, 138701.953/ data (xsc(39, 4,i),i=1,11)/ 2.04443002, 108.828255, $ 4286.77734, 108218.703,0.0000, 17.9094810, $ 4117.66357, 43179.9531, 143478.172, 252981.453, 291438.125/ data (xsc(39, 5,i),i=1,10)/ 2.83639383, 54.8693581, $ 767.066040, 7417.85059, 50142.5820,0.276592433, $ 1157.77515, 23958.1934, 89794.2656, 144308.313/ data (xsc(39, 6,i),i=1,10)/0.251975983, 10.8622761, $ 351.090485, 6813.45313, 67504.2188,3.296152130d-02, $ 1167.85828, 45512.6055, 156651.328, 183206.031/ data (xsc(39, 7,i),i=1,10)/0.358618289, 17.8460426, $ 621.632385, 12742.8994, 134270.031,5.000425503d-02, $ 2364.53101, 96150.6016, 346162.188, 429718.688/ data (xsc(39, 8,i),i=1,10)/3.440195462d-03,0.462344706, $ 46.7640839, 2949.67236, 105896.805,5.328153260d-03, $ 2960.22778, 360749.375, 1858937.13, 552808.563/ data (xsc(39, 9,i),i=1,10)/2.773017157d-03,0.510965705, $ 61.2910271, 4158.10840, 153977.609,4.748226609d-03, $ 4387.53125, 547963.625, 2829978.50, 828897.438/ data (xsc(39,10,i),i=1,10)/0.451179683, 8.43212128, $ 116.126633, 1141.38098, 8498.56152, 15.9779139, $ 11140.9570, 112213.250, 209913.750, 150483.000/ data (xsc(39,11,i),i=1,10)/3.378038853d-02, 1.38149095, $ 42.9767265, 816.078613, 8485.08398, 19.2197819, $ 27772.6797, 103374.656, 1032195.00, 6357127.50/ data (xsc(39,12,i),i=1,10)/4.790235683d-02, 2.26003051, $ 75.7655411, 1518.69629, 16618.9922, 33.3941879, $ 56679.7070, 234334.891, 1845420.75, 12221569.0/ data (xsc(40, 1,i),i=1,11)/ 198.084564, 4365.35010, $ 0.0000,0.0000,0.0000, 1.89752984, $ 213.369598, 1935.44495, 6200.74756, 10803.4980, 12404.0029/ data (xsc(40, 2,i),i=1,11)/ 18.3579235, 357.056580, $ 4839.54834, 39608.8945,0.0000, 55.0786514, $ 3045.32690, 15444.5264, 33866.7383, 48042.4766, 52498.1016/ data (xsc(40, 3,i),i=1,11)/ 1.69195735, 76.6252518, $ 2745.34692, 63772.3477,0.0000, 9.37018871, $ 1911.56104, 19491.3379, 63848.3672, 111592.367, 128467.000/ data (xsc(40, 4,i),i=1,11)/ 2.38461804, 125.030273, $ 4834.98193, 119323.406,0.0000, 16.3419838, $ 3766.07813, 39653.8359, 132203.844, 233354.406, 270296.406/ data (xsc(40, 5,i),i=1,10)/ 3.17947149, 60.6363792, $ 834.236755, 7938.17578, 52774.6797,0.243396163, $ 1033.27185, 21803.2090, 83217.4375, 135922.281/ data (xsc(40, 6,i),i=1,10)/0.301004767, 12.7231665, $ 400.982788, 7538.53076, 71666.0938,2.841274440d-02, $ 1006.94525, 40732.1367, 147045.813, 182756.844/ data (xsc(40, 7,i),i=1,10)/0.425387323, 20.8067722, $ 708.235107, 14099.4453, 143236.375,4.015129432d-02, $ 2032.82349, 86105.8047, 325500.844, 429292.906/ data (xsc(40, 8,i),i=1,10)/4.447322339d-03,0.588055849, $ 58.1128082, 3562.12866, 122820.500,3.797446843d-03, $ 2218.65479, 291803.063, 1696030.13, 631846.563/ data (xsc(40, 9,i),i=1,10)/3.569497028d-03,0.648275793, $ 76.0760880, 5019.27295, 178619.703,3.210201627d-03, $ 3261.68115, 442121.875, 2581909.75, 947468.688/ data (xsc(40,10,i),i=1,10)/0.529819191, 9.78068161, $ 132.754120, 1287.17285, 9516.60938, 13.6866503, $ 10142.7656, 105999.258, 209340.328, 171248.594/ data (xsc(40,11,i),i=1,10)/4.301036894d-02, 1.72926521, $ 52.4891701, 965.794861, 9737.61719, 16.6749153, $ 26720.4961, 106705.492, 768987.250, 4248017.00/ data (xsc(40,12,i),i=1,10)/6.057272106d-02, 2.81652451, $ 92.3253784, 1797.18713, 19125.3691, 28.6847382, $ 54410.7930, 245641.844, 1375094.00, 8130742.00/ data (xsc(40,13,i),i=1,10)/1.564582344d-04,1.751643978d-02, $ 1.57011914, 90.4214554, 2764.07764, 465.709259, $ 26196.8945, 11198567.0, 13479409.0, 12719175.0/ data (xsc(41, 1,i),i=1,11)/ 218.421249, 4747.14160, $ 0.0000,0.0000,0.0000, 1.81405532, $ 201.294617, 1824.36816, 5845.46338, 10199.0410, 11666.7500/ data (xsc(41, 2,i),i=1,11)/ 20.2745953, 388.375244, $ 5163.62695, 41282.5156,0.0000, 50.8884010, $ 2828.08960, 14406.3662, 31691.5313, 45017.3555, 49136.8516/ data (xsc(41, 3,i),i=1,11)/ 1.98029768, 88.1779251, $ 3097.12842, 70272.1328,0.0000, 8.61602688, $ 1756.81860, 17960.6035, 58998.5547, 103244.578, 118982.734/ data (xsc(41, 4,i),i=1,11)/ 2.76925254, 143.079041, $ 5436.61084, 131534.563,0.0000, 14.9521971, $ 3454.31055, 36536.3594, 122267.820, 216200.359, 250722.047/ data (xsc(41, 5,i),i=1,10)/ 3.55402899, 66.8008041, $ 904.766113, 8477.38574, 55445.9492,0.217097908, $ 928.643921, 19960.2207, 77480.8906, 127574.836/ data (xsc(41, 6,i),i=1,10)/0.357288361, 14.8225965, $ 455.976593, 8313.54980, 75939.4063,2.461441420d-02, $ 870.914978, 36546.6445, 137495.297, 179672.125/ data (xsc(41, 7,i),i=1,10)/0.501355648, 24.1268692, $ 803.454651, 15553.2676, 152661.203,3.376957402d-02, $ 1751.86255, 77276.9609, 305101.781, 423001.219/ data (xsc(41, 8,i),i=1,10)/5.694358610d-03,0.741096258, $ 71.6300507, 4274.30615, 142226.250,2.645154018d-03, $ 1681.38220, 238178.453, 1534821.38, 582568.063/ data (xsc(41, 9,i),i=1,10)/4.561474547d-03,0.815524220, $ 93.6537781, 6019.17334, 206829.016,2.152563073d-03, $ 2458.72705, 360692.031, 2338196.00, 869593.438/ data (xsc(41,10,i),i=1,10)/0.612750053, 11.1583605, $ 149.253799, 1429.06396, 10510.4922, 11.4717159, $ 9049.18164, 97834.2813, 196611.281, 157352.063/ data (xsc(41,11,i),i=1,10)/5.333347246d-02, 2.10468006, $ 62.3245010, 1112.88916, 10910.8672, 11.9794130, $ 23103.1055, 102423.703, 574271.688, 3695229.25/ data (xsc(41,12,i),i=1,10)/7.447589189d-02, 3.40727806, $ 109.204124, 2067.71436, 21464.4473, 20.2748394, $ 46713.0156, 237588.016, 1027884.94, 7088904.50/ data (xsc(41,13,i),i=1,10)/4.208431346d-04,4.603499547d-02, $ 4.00764608, 222.856277, 6501.55127, 2256.22852, $ 360910.219, 21367446.0, 27653664.0, 29049492.0/ data (xsc(42, 1,i),i=1,11)/ 240.097275, 5144.72656, $ 0.0000,0.0000,0.0000, 1.73783219, $ 190.097046, 1722.38550, 5518.71191, 9627.55371, 11005.0039/ data (xsc(42, 2,i),i=1,11)/ 22.3213329, 421.095978, $ 5490.91113, 42420.1602,0.0000, 47.3239059, $ 2639.03882, 13488.4756, 29747.5313, 42303.9961, 46096.3047/ data (xsc(42, 3,i),i=1,11)/ 2.30739427, 101.003838, $ 3476.32935, 77040.1797,0.0000, 8.02373505, $ 1624.74292, 16628.1777, 54710.8398, 95766.4297, 109727.063/ data (xsc(42, 4,i),i=1,11)/ 3.20123339, 162.969803, $ 6082.30273, 144061.484,0.0000, 13.7183266, $ 3188.79077, 33827.0742, 113491.219, 200842.766, 231035.063/ data (xsc(42, 5,i),i=1,10)/ 3.95829892, 73.3244247, $ 977.726746, 9017.90918, 57976.3359,0.199403420, $ 851.258484, 18528.1855, 72779.7734, 121042.602/ data (xsc(42, 6,i),i=1,10)/0.422186017, 17.1760159, $ 515.355103, 9102.08594, 79867.7734,2.242681757d-02, $ 782.378540, 33536.2383, 130016.234, 176863.469/ data (xsc(42, 7,i),i=1,10)/0.588181078, 27.8265152, $ 905.909912, 17032.8398, 161457.938,3.009606339d-02, $ 1572.45984, 71061.6875, 289479.813, 417790.563/ data (xsc(42, 8,i),i=1,10)/7.225201931d-03,0.925237000, $ 87.4035797, 5065.71143, 162128.094,2.092840848d-03, $ 1372.98071, 203375.188, 1406531.00, 614487.563/ data (xsc(42, 9,i),i=1,10)/5.769114941d-03, 1.01592946, $ 114.130440, 7128.85303, 235719.234,1.656617504d-03, $ 2001.51587, 308182.719, 2145403.00, 914660.375/ data (xsc(42,10,i),i=1,10)/0.703809321, 12.6618958, $ 167.027222, 1578.99634, 11535.5352, 11.1804590, $ 8929.43945, 96923.2109, 196239.875, 165727.781/ data (xsc(42,11,i),i=1,10)/6.567740440d-02, 2.54781103, $ 73.6351395, 1275.04834, 12151.4619, 13.2324371, $ 24509.7188, 107404.367, 547929.938, 3136452.50/ data (xsc(4