pyatomdb 1.2.1__tar.gz → 1.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. {pyatomdb-1.2.1/pyatomdb.egg-info → pyatomdb-1.2.2}/PKG-INFO +5 -1
  2. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/README.rst +4 -0
  3. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb/__init__.py +1 -1
  4. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb/apec.py +13 -6
  5. {pyatomdb-1.2.1 → pyatomdb-1.2.2/pyatomdb.egg-info}/PKG-INFO +5 -1
  6. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/COPYING.txt +0 -0
  7. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/MANIFEST.in +0 -0
  8. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/Makefile +0 -0
  9. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/apec.rst +0 -0
  10. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/atomdb.rst +0 -0
  11. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/atomic.rst +0 -0
  12. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/conf.py +0 -0
  13. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/const.rst +0 -0
  14. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/contact.rst +0 -0
  15. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/examples.rst +0 -0
  16. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/index.rst +0 -0
  17. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/installation.rst +0 -0
  18. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/license.rst +0 -0
  19. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/models.rst +0 -0
  20. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/modules.rst +0 -0
  21. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/requirements.txt +0 -0
  22. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/spectrum.rst +0 -0
  23. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/util.rst +0 -0
  24. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/Rsapec_hitomi.pdf +0 -0
  25. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/Rsapec_hitomi.svg +0 -0
  26. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/aciss_meg1_cy22.garf +0 -0
  27. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/aciss_meg1_cy22.grmf +0 -0
  28. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/ah100040030_sxs_cl2_HP_small.rmf +0 -0
  29. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/ah100040030sxs_p0px1010_cl2_HP.pi +0 -0
  30. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/ah100040030sxs_p0px1010_ptsrc.arf +0 -0
  31. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/apec_example_1_get_ionbal.py +0 -0
  32. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/apec_examples_1_1.pdf +0 -0
  33. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/apec_examples_1_1.svg +0 -0
  34. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/apec_examples_1_2.pdf +0 -0
  35. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/apec_examples_1_2.svg +0 -0
  36. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/atomdb_example_1_get_data.py +0 -0
  37. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/atomdb_example_2_get_maxwell.py +0 -0
  38. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/atomdb_examples_2_1.pdf +0 -0
  39. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/atomdb_examples_2_1.svg +0 -0
  40. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/atomdb_examples_2_2.pdf +0 -0
  41. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/atomdb_examples_2_2.svg +0 -0
  42. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/calc_power.py +0 -0
  43. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/calc_power_examples_1_1.pdf +0 -0
  44. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/calc_power_examples_1_1.svg +0 -0
  45. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/calc_power_nei.py +0 -0
  46. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/calc_power_nei_examples_1_1.pdf +0 -0
  47. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/calc_power_nei_examples_1_1.svg +0 -0
  48. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/first_installation.py +0 -0
  49. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/make_line_list.py +0 -0
  50. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/make_spectrum.py +0 -0
  51. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/new_make_spectrum.py +0 -0
  52. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/output.txt +0 -0
  53. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/photoionization_data.py +0 -0
  54. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/rsapec.py +0 -0
  55. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_NEIsession_examples.py +0 -0
  56. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_NEIsession_linelist_examples.py +0 -0
  57. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_kappa_examples_1.pdf +0 -0
  58. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_kappa_examples_1.py +0 -0
  59. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_kappa_examples_1.svg +0 -0
  60. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_kappa_examples_2.pdf +0 -0
  61. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_kappa_examples_2.py +0 -0
  62. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_kappa_examples_2.svg +0 -0
  63. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples.py +0 -0
  64. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_1.py +0 -0
  65. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_1_1.pdf +0 -0
  66. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_1_1.svg +0 -0
  67. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_1b.py +0 -0
  68. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_1b_1.pdf +0 -0
  69. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_1b_1.svg +0 -0
  70. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_2.py +0 -0
  71. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_2_1.pdf +0 -0
  72. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_2_1.svg +0 -0
  73. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_2b.py +0 -0
  74. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_2b_1.pdf +0 -0
  75. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_2b_1.svg +0 -0
  76. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_3_1.pdf +0 -0
  77. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_3_1.svg +0 -0
  78. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_3_abund.py +0 -0
  79. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_4_1.pdf +0 -0
  80. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_4_1.svg +0 -0
  81. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_4_abund.py +0 -0
  82. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_5_linelist.py +0 -0
  83. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_6_1.pdf +0 -0
  84. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_6_1.svg +0 -0
  85. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_6_line_emissivity.py +0 -0
  86. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_7_1.pdf +0 -0
  87. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_7_1.svg +0 -0
  88. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_7_nei.py +0 -0
  89. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_8_nei_linelist.py +0 -0
  90. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_linelist_examples.py +0 -0
  91. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/wrapper_xspec_examples.py +0 -0
  92. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/wrapper_xspec_kappa_example.py +0 -0
  93. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/linear_approx.c +0 -0
  94. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb/atomdb.py +0 -0
  95. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb/atomic.py +0 -0
  96. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb/const.py +0 -0
  97. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb/spectrum.py +0 -0
  98. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb/util.py +0 -0
  99. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb.egg-info/SOURCES.txt +0 -0
  100. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb.egg-info/dependency_links.txt +0 -0
  101. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb.egg-info/requires.txt +0 -0
  102. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb.egg-info/top_level.txt +0 -0
  103. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyproject.toml +0 -0
  104. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/setup.cfg +0 -0
  105. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/setup.py +0 -0
  106. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/tests/__init__.py +0 -0
  107. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/tests/test1.py +0 -0
  108. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/wrappers/IonE_apec_xspec.py +0 -0
  109. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/wrappers/apec_xspec.py +0 -0
  110. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/wrappers/bapec_xspec.py +0 -0
  111. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/wrappers/kappa_xspec.py +0 -0
  112. {pyatomdb-1.2.1 → pyatomdb-1.2.2}/wrappers/rsapec_xspec.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyatomdb
3
- Version: 1.2.1
3
+ Version: 1.2.2
4
4
  Summary: AtomDB python library.
5
5
  Author-email: Adam Foster <afoster@cfa.harvard.edu>
6
6
  Maintainer-email: Adam Foster <afoster@cfa.harvard.edu>
@@ -348,3 +348,7 @@ Added in web.py, which is not useful as part of pyatomdb but does generate the o
348
348
  1.2.1
349
349
  August 13th 2026
350
350
  Updated solve_ionbal_eigen to work with numpy >=2.5 (issues with matrix data indexing)
351
+
352
+ 1.2.2
353
+ September 15th 2026
354
+ Corrections to eebrems in the 1 < T < 300keV
@@ -293,3 +293,7 @@ Added in web.py, which is not useful as part of pyatomdb but does generate the o
293
293
  1.2.1
294
294
  August 13th 2026
295
295
  Updated solve_ionbal_eigen to work with numpy >=2.5 (issues with matrix data indexing)
296
+
297
+ 1.2.2
298
+ September 15th 2026
299
+ Corrections to eebrems in the 1 < T < 300keV
@@ -10,7 +10,7 @@ from . import apec
10
10
  from . import util
11
11
  import sys, glob
12
12
 
13
- __version__="1.2.1"
13
+ __version__="1.2.2"
14
14
 
15
15
  try:
16
16
  PATH = os.path.dirname(__file__)
@@ -1280,6 +1280,8 @@ def calc_ee_brems(E, T, N):
1280
1280
  # series of data constants
1281
1281
  # Region I, k_BT<=1 keV
1282
1282
 
1283
+ from scipy.special import exp1
1284
+
1283
1285
  aI1 = numpy.array([(3.15847E+0, -2.52430E+0, 4.04877E-1, 6.13466E-1, 6.28867E-1, 3.29441E-1),
1284
1286
  (2.46819E-2, 1.03924E-1, 1.98935E-1, 2.18843E-1, 1.20482E-1, -4.82390E-2),
1285
1287
  (-2.11118E-2, -8.53821E-2, -1.52444E-1, -1.45660E-1, -4.63705E-2, 8.16592E-2),
@@ -1380,7 +1382,7 @@ def calc_ee_brems(E, T, N):
1380
1382
  GpwIII = numpy.zeros((numx,))
1381
1383
  if T<0.05:
1382
1384
  ret = numpy.zeros(len(x), dtype=float)
1383
- elif 0.05<=T<70.:
1385
+ elif 0.05<=T<1.:
1384
1386
 
1385
1387
  GI=numpy.zeros(len(x))
1386
1388
  theta = (1/1.35) * ( numpy.log10(tao) + 2.65)
@@ -1390,13 +1392,14 @@ def calc_ee_brems(E, T, N):
1390
1392
  GI += aI[i,j]*(theta**i)*(bigx**j)
1391
1393
  GI *= numpy.sqrt(8/(3*numpy.pi))
1392
1394
  ret = 1.455e-16*N**2*numpy.exp(-x)/(x*numpy.sqrt(tao))*GI
1393
- elif 70.<=T<300.:
1395
+ elif 1.<=T<300.:
1394
1396
  taoII = tao
1397
+ Ei0[:,] = exp1(x)
1395
1398
  for k in range(numx):
1396
- def integrand(t):
1397
- return numpy.exp(-1.0*t)/t
1398
- [Ei0[k,],error] = scipy.integrate.quad(integrand,x[k,],\
1399
- numpy.inf,args=())
1399
+ # def integrand(t):
1400
+ # return numpy.exp(-1.0*t)/t
1401
+ # [Ei0[k,],error] = scipy.integrate.quad(integrand,x[k,],\
1402
+ # numpy.inf,args=())
1400
1403
  AIIr[k,] = numpy.sum(aII*taoII**(aIIj/8.)*x[k,]**(aIIi))
1401
1404
  BIIr[k,] = numpy.sum(bII*taoII**(bIIj/8.)*x[k,]**(bIIi))
1402
1405
  FCCII[k,] = 1.+numpy.sum(cII*taoII**(cIIj/6.)*x[k,]**(cIIi/8.))
@@ -1407,6 +1410,7 @@ def calc_ee_brems(E, T, N):
1407
1410
  ret = 1.455e-16*N**2*numpy.exp(-x)/(x*numpy.sqrt(taoII))*GII
1408
1411
  elif 300.<=T<7000.:
1409
1412
  taoIII = tao
1413
+ Ei0[:,] = exp1(x)
1410
1414
  for k in range(numx):
1411
1415
  GpwIII[k,] = numpy.sum(aIII*taoIII**(aIIj/8.)*x[k,]**(aIIi))-\
1412
1416
  numpy.exp(x[k,])*(-1.0)*Ei0[k,]*\
@@ -1415,6 +1419,7 @@ def calc_ee_brems(E, T, N):
1415
1419
  (x*numpy.sqrt(taoIII))*GpwIII
1416
1420
  else:
1417
1421
  taoIV = tao
1422
+ Ei0[:,] = exp1(x)
1418
1423
  GIV = 3./(4.*numpy.pi*numpy.sqrt(taoIV))*\
1419
1424
  (28./3.+2.*x+x**2/2.+2.*(8./3.+4.*x/3.+x**2)*\
1420
1425
  (numpy.log(2.*taoIV)-0.57721)-numpy.exp(x) \
@@ -1875,6 +1880,8 @@ def run_apec(fname):
1875
1880
  chdulist.insert(0,PricHDU)
1876
1881
  chdulist.insert(1,seccHDU)
1877
1882
  tmpchdulist = pyfits.HDUList(chdulist)
1883
+ generate_apec_headerblurb(settings, tmplhdulist, tmpchdulist)
1884
+
1878
1885
  if settings['Ionization']=='CIE':
1879
1886
  tmpchdulist.writeto('%s_coco.fits'%(fileroot), overwrite=True, checksum=True)
1880
1887
  elif settings['Ionization']=='NEI':
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyatomdb
3
- Version: 1.2.1
3
+ Version: 1.2.2
4
4
  Summary: AtomDB python library.
5
5
  Author-email: Adam Foster <afoster@cfa.harvard.edu>
6
6
  Maintainer-email: Adam Foster <afoster@cfa.harvard.edu>
@@ -348,3 +348,7 @@ Added in web.py, which is not useful as part of pyatomdb but does generate the o
348
348
  1.2.1
349
349
  August 13th 2026
350
350
  Updated solve_ionbal_eigen to work with numpy >=2.5 (issues with matrix data indexing)
351
+
352
+ 1.2.2
353
+ September 15th 2026
354
+ Corrections to eebrems in the 1 < T < 300keV
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes