summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/heasoft/heasoft-6.29_xspec-12.12.0d.patch
diff options
context:
space:
mode:
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.patch65
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
+