diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/heasoft/heasoft-6.29_xspec-12.12.0d.patch')
-rw-r--r-- | var/spack/repos/builtin/packages/heasoft/heasoft-6.29_xspec-12.12.0d.patch | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/heasoft/heasoft-6.29_xspec-12.12.0d.patch b/var/spack/repos/builtin/packages/heasoft/heasoft-6.29_xspec-12.12.0d.patch new file mode 100644 index 0000000000..907f9920e9 --- /dev/null +++ b/var/spack/repos/builtin/packages/heasoft/heasoft-6.29_xspec-12.12.0d.patch @@ -0,0 +1,65 @@ +diff -u a/Xspec/src/XSFunctions/dospin.f b/Xspec/src/XSFunctions/dospin.f +--- a/Xspec/src/XSFunctions/dospin.f 2020-03-31 09:43:58.000000000 -0500 ++++ b/Xspec/src/XSFunctions/dospin.f 2022-02-16 10:46:28.400550576 -0600 +@@ -52,14 +52,14 @@ + integer nradii,ng,ia,imu0,abins,mu0bins,ilun,ios,block,hdutyp + integer ir + parameter(nradii=50,ng=20,abins=20,mu0bins=20) ++ DOUBLE PRECISION, ALLOCATABLE, SAVE :: trff_tab(:,:,:,:,:) ++ DOUBLE PRECISION, ALLOCATABLE, SAVE :: cosne_tab(:,:,:,:,:) ++ DOUBLE PRECISION, ALLOCATABLE, SAVE :: gmin_tab(:,:,:) ++ DOUBLE PRECISION, ALLOCATABLE, SAVE :: gmax_tab(:,:,:) ++ DOUBLE PRECISION, ALLOCATABLE, SAVE :: a_tab(:),mu0_tab(:) + DOUBLE PRECISION sumspec + DOUBLE PRECISION a,theta0,mu0,gstar(ng) +- DOUBLE PRECISION a_tab(abins),mu0_tab(mu0bins) + DOUBLE PRECISION aintfac,mu0intfac +- DOUBLE PRECISION trff_tab(nradii,ng,2,abins,mu0bins) +- DOUBLE PRECISION cosne_tab(nradii,ng,2,abins,mu0bins) +- DOUBLE PRECISION gmin_tab(nradii,abins,mu0bins) +- DOUBLE PRECISION gmax_tab(nradii,abins,mu0bins) + DOUBLE PRECISION re(nradii),gmin(nradii) + DOUBLE PRECISION gmax(nradii),trff(nradii,ng,2) + DOUBLE PRECISION cosne(nradii,ng,2) +@@ -88,7 +88,6 @@ + external lenact, fgmodf + + SAVE qfirst +- save a_tab,trff_tab,cosne_tab,gmin_tab,gmax_tab,mu0_tab + + DATA qfirst / .true. / + +@@ -128,6 +127,11 @@ + c Read in transfer function from the kerrtable.fits file. + c + if ( qfirst ) then ++ allocate(trff_tab(nradii,ng,2,abins,mu0bins)) ++ allocate(cosne_tab(nradii,ng,2,abins,mu0bins)) ++ allocate(gmin_tab(nradii,abins,mu0bins)) ++ allocate(gmax_tab(nradii,abins,mu0bins)) ++ allocate(a_tab(abins),mu0_tab(mu0bins)) + call getlun(ilun) + datafile = fgmodf() + datafile=datafile(1:lenact(datafile))//'/kerrtable.fits' +@@ -316,7 +320,8 @@ + rad=rmin * 10 ** ( dfloat(ilgrad-1)*dlog(re(1)/re(nradii))/ + & dfloat(ilgrad_max-1)) + +- if ((rad .gt. rmin) .and. (rad .lt. rmax)) then ++ if ((rad .gt. rmin) .and. (rad .gt. re(nradii)) .and. ++ & (rad .lt. rmax)) then + + if (rad .gt. re(irad)) irad=irad-1 + intfac=(rad-re(irad+1))/(re(irad)-re(irad+1)) +diff -u a/Xspec/src/XSFunctions/xsrefsch.f b/Xspec/src/XSFunctions/xsrefsch.f +--- a/Xspec/src/XSFunctions/xsrefsch.f 2019-05-17 14:35:25.000000000 -0500 ++++ b/Xspec/src/XSFunctions/xsrefsch.f 2022-02-16 10:46:28.401550579 -0600 +@@ -307,7 +307,7 @@ + sincl = sin(param(5)/dera) + cincl = cos(param(5)/dera) + +- do n=1,ne ++ do n=0,ne + ear(n) = zfac*earp(n) + end do + |