pyatomdb 1.0.2__tar.gz → 1.0.3__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.
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/COPYING.txt +1 -1
- {pyatomdb-1.0.2/pyatomdb.egg-info → pyatomdb-1.0.3}/PKG-INFO +36 -7
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/README.rst +4 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/README.txt +4 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/pyatomdb/__init__.py +1 -1
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/pyatomdb/apec.py +17 -11
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/pyatomdb/atomdb.py +64 -44
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/pyatomdb/spectrum.py +9 -2
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/pyatomdb/util.py +12 -6
- {pyatomdb-1.0.2 → pyatomdb-1.0.3/pyatomdb.egg-info}/PKG-INFO +36 -7
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/pyatomdb.egg-info/SOURCES.txt +1 -1
- pyatomdb-1.0.3/pyproject.toml +40 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/setup.py +31 -30
- pyatomdb-1.0.2/pyatomdb.egg-info/not-zip-safe +0 -1
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/MANIFEST.in +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/Makefile +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/apec.rst +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/atomdb.rst +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/atomic.rst +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/conf.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/const.rst +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/contact.rst +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/examples.rst +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/index.rst +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/installation.rst +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/license.rst +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/modules.rst +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/requirements.txt +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/spectrum.rst +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/docs/util.rst +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/Rsapec_hitomi.svg +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/__pycache__/calc_power.cpython-38.pyc +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/aciss_meg1_cy22.garf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/aciss_meg1_cy22.grmf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/ah100040030_sxs_cl2_HP_small.rmf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/ah100040030sxs_p0px1010_cl2_HP.pi +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/ah100040030sxs_p0px1010_ptsrc.arf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/apec_example_1_get_ionbal.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/apec_examples_1_1.pdf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/apec_examples_1_1.svg +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/apec_examples_1_2.pdf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/apec_examples_1_2.svg +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/atomdb_example_1_get_data.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/atomdb_example_2_get_maxwell.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/atomdb_examples_2_1.pdf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/atomdb_examples_2_1.svg +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/atomdb_examples_2_2.pdf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/atomdb_examples_2_2.svg +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/calc_power.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/calc_power_examples_1_1.pdf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/calc_power_examples_1_1.svg +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/calc_power_nei.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/first_installation.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/make_line_list.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/make_spectrum.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/new_make_spectrum.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/osc_str.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/photoionization_data.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/rsapec.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_NEIsession_examples.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_NEIsession_linelist_examples.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_1.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_1_1.pdf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_1_1.svg +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_1b.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_1b_1.pdf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_1b_1.svg +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_2.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_2_1.pdf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_2_1.svg +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_3_1.pdf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_3_1.svg +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_3_abund.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_4_1.pdf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_4_1.svg +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_4_abund.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_5_linelist.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_6_1.pdf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_6_1.svg +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_6_line_emissivity.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_7_1.pdf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_7_1.svg +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_7_nei.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_examples_8_nei_linelist.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/spectrum_session_linelist_examples.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/examples/wrapper_xspec_examples.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/linear_approx.c +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/make_test_outputs.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/pyatomdb/atomic.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/pyatomdb/const.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/pyatomdb/spectrum-merge.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/pyatomdb/test_dep.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/pyatomdb.egg-info/dependency_links.txt +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/pyatomdb.egg-info/requires.txt +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/pyatomdb.egg-info/top_level.txt +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/setup.cfg +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/tests/__init__.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/tests/test1.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/tests/testdata/aciss_heg1_cy19.garf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/tests/testdata/aciss_heg1_cy19.grmf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/tests/testdata/test_set_response_spec1.npy +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/tests/testdata/test_set_response_spec1_309.npy +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/tests/testdata/test_set_response_spec2_309.npz +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/wrappers/IonE_apec_xspec.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/wrappers/__pycache__/IonE_apec_xspec.cpython-38.pyc +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/wrappers/__pycache__/apec_xspec.cpython-36.pyc +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/wrappers/__pycache__/bapec_xspec.cpython-36.pyc +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/wrappers/aciss_meg1_cy22.garf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/wrappers/aciss_meg1_cy22.grmf +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/wrappers/apec_xspec.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/wrappers/bapec_xspec.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/wrappers/rsapec_xspec.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/wrappers/test_ionE_apec.py +0 -0
- {pyatomdb-1.0.2 → pyatomdb-1.0.3}/wrappers/test_ionE_apec2.py +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Copyright 2015-
|
|
1
|
+
Copyright 2015-25 Smithsonian Institution. Permission is granted to use, copy,
|
|
2
2
|
modify, and distribute this software and its documentation for educational,
|
|
3
3
|
research and non-profit purposes, without fee and without a signed
|
|
4
4
|
licensing agreement, provided that this notice, including the following
|
|
@@ -1,13 +1,38 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pyatomdb
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.3
|
|
4
4
|
Summary: AtomDB python library.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
Author-email: Adam Foster <afoster@cfa.harvard.edu>
|
|
6
|
+
Maintainer-email: Adam Foster <afoster@cfa.harvard.edu>
|
|
7
|
+
License: Copyright 2015-25 Smithsonian Institution. Permission is granted to use, copy,
|
|
8
|
+
modify, and distribute this software and its documentation for educational,
|
|
9
|
+
research and non-profit purposes, without fee and without a signed
|
|
10
|
+
licensing agreement, provided that this notice, including the following
|
|
11
|
+
two paragraphs, appear in all copies, modifications and distributions.
|
|
12
|
+
For commercial licensing, contact the Office of the Chief Information
|
|
13
|
+
Officer, Smithsonian Institution, 380 Herndon Parkway, MRC 1010, Herndon,
|
|
14
|
+
VA. 20170, 202-633-5256.
|
|
15
|
+
|
|
16
|
+
This software and accompanying documentation is supplied "as is" without
|
|
17
|
+
warranty of any kind. The copyright holder and the Smithsonian
|
|
18
|
+
Institution: (1) expressly disclaim any warranties, express or implied,
|
|
19
|
+
including but not limited to any implied warranties of merchantability,
|
|
20
|
+
fitness for a particular purpose, title or non-infringement; (2) do not
|
|
21
|
+
assume any legal liability or responsibility for the accuracy,
|
|
22
|
+
completeness, or usefulness of the software; (3) do not represent that use
|
|
23
|
+
of the software would not infringe privately owned rights; (4) do not
|
|
24
|
+
warrant that the software is error-free or will be maintained, supported,
|
|
25
|
+
updated or enhanced; (5) will not be liable for any indirect, incidental,
|
|
26
|
+
consequential special or punitive damages of any kind or nature,
|
|
27
|
+
including but not limited to lost profits or loss of data, on any basis
|
|
28
|
+
arising from contract, tort or otherwise, even if any of the parties has
|
|
29
|
+
been warned of the possibility of such loss or damage.
|
|
30
|
+
|
|
31
|
+
Project-URL: Homepage, http://www.atomdb.org
|
|
32
|
+
Project-URL: Documentation, https://atomdb.readthedocs.io/en/master/
|
|
33
|
+
Project-URL: Repository, https://github.com/AtomDB/pyatomdb.git
|
|
34
|
+
Project-URL: Issues, https://github.com/AtomDB/pyatomdb/issues
|
|
9
35
|
Classifier: Development Status :: 4 - Beta
|
|
10
|
-
Classifier: Environment :: Console
|
|
11
36
|
Classifier: Intended Audience :: Developers
|
|
12
37
|
Classifier: Intended Audience :: Education
|
|
13
38
|
Classifier: Intended Audience :: End Users/Desktop
|
|
@@ -16,7 +41,7 @@ Classifier: Topic :: Scientific/Engineering :: Astronomy
|
|
|
16
41
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
17
42
|
Classifier: Programming Language :: Python :: 3
|
|
18
43
|
Classifier: Operating System :: POSIX
|
|
19
|
-
|
|
44
|
+
Description-Content-Type: text/x-rst
|
|
20
45
|
|
|
21
46
|
========
|
|
22
47
|
PYATOMDB
|
|
@@ -283,3 +308,7 @@ Updated to allow access to all AtomDB v3.1.x eigenvector files (path was hardcod
|
|
|
283
308
|
1.0.2
|
|
284
309
|
January 31st 2025
|
|
285
310
|
Removed debug output erroneously added to spectrum.py calls.
|
|
311
|
+
|
|
312
|
+
1.0.3
|
|
313
|
+
March 7th 2025
|
|
314
|
+
Repaired util.py check_version command, along with other bug fixes.
|
|
@@ -263,3 +263,7 @@ Updated to allow access to all AtomDB v3.1.x eigenvector files (path was hardcod
|
|
|
263
263
|
1.0.2
|
|
264
264
|
January 31st 2025
|
|
265
265
|
Removed debug output erroneously added to spectrum.py calls.
|
|
266
|
+
|
|
267
|
+
1.0.3
|
|
268
|
+
March 7th 2025
|
|
269
|
+
Repaired util.py check_version command, along with other bug fixes.
|
|
@@ -263,3 +263,7 @@ Updated to allow access to all AtomDB v3.1.x eigenvector files (path was hardcod
|
|
|
263
263
|
1.0.2
|
|
264
264
|
January 31st 2025
|
|
265
265
|
Removed debug output erroneously added to spectrum.py calls.
|
|
266
|
+
|
|
267
|
+
1.0.3
|
|
268
|
+
March 7th 2025
|
|
269
|
+
Repaired util.py check_version command, along with other bug fixes.
|
|
@@ -5681,6 +5681,12 @@ def _solve_ionbal_eigen(Z, Te, init_pop=False, tau=False, \
|
|
|
5681
5681
|
telist = numpy.logspace(4,9,1251)
|
|
5682
5682
|
kTlist=telist*const.KBOLTZ
|
|
5683
5683
|
|
|
5684
|
+
try:
|
|
5685
|
+
dd = d['EIGEN']
|
|
5686
|
+
except KeyError:
|
|
5687
|
+
elsymb = atomic.Ztoelsymb(Z).lower()
|
|
5688
|
+
dd=d[elsymb]
|
|
5689
|
+
|
|
5684
5690
|
# if we are looking for equilibrium, return the nearest data
|
|
5685
5691
|
if cie:
|
|
5686
5692
|
|
|
@@ -5690,10 +5696,10 @@ def _solve_ionbal_eigen(Z, Te, init_pop=False, tau=False, \
|
|
|
5690
5696
|
if Tdiff > 0.0:
|
|
5691
5697
|
factorlow = (kTlist[ite[1]]-kT)/Tdiff
|
|
5692
5698
|
factorhigh = (kT-kTlist[ite[0]])/Tdiff
|
|
5693
|
-
equilib = factorlow *
|
|
5694
|
-
factorhigh *
|
|
5699
|
+
equilib = factorlow * dd.data['FEQB'][ite[0]]+\
|
|
5700
|
+
factorhigh * dd.data['FEQB'][ite[1]]
|
|
5695
5701
|
else:
|
|
5696
|
-
equilib =
|
|
5702
|
+
equilib = dd.data['FEQB'][ite[0]]
|
|
5697
5703
|
|
|
5698
5704
|
#renormalize
|
|
5699
5705
|
equilib /= sum(equilib)
|
|
@@ -5715,16 +5721,16 @@ def _solve_ionbal_eigen(Z, Te, init_pop=False, tau=False, \
|
|
|
5715
5721
|
if Z==1:
|
|
5716
5722
|
for i in range(Z):
|
|
5717
5723
|
for j in range(Z):
|
|
5718
|
-
lefteigenvec[i,j] =
|
|
5719
|
-
righteigenvec[i,j] =
|
|
5724
|
+
lefteigenvec[i,j] = dd.data['VL'][kTindex]
|
|
5725
|
+
righteigenvec[i,j] = dd.data['VR'][kTindex]
|
|
5720
5726
|
else:
|
|
5721
5727
|
for i in range(Z):
|
|
5722
5728
|
for j in range(Z):
|
|
5723
|
-
lefteigenvec[i,j] =
|
|
5724
|
-
righteigenvec[i,j] =
|
|
5729
|
+
lefteigenvec[i,j] = dd.data['VL'][kTindex][i*Z+j]
|
|
5730
|
+
righteigenvec[i,j] = dd.data['VR'][kTindex][i*Z+j]
|
|
5725
5731
|
|
|
5726
5732
|
|
|
5727
|
-
work = numpy.array(init_pop_calc[1:] -
|
|
5733
|
+
work = numpy.array(init_pop_calc[1:] - dd.data['FEQB'][kTindex][1:], dtype=float)
|
|
5728
5734
|
|
|
5729
5735
|
fspectmp = numpy.matrix(lefteigenvec) * numpy.matrix(work).transpose()
|
|
5730
5736
|
|
|
@@ -5735,16 +5741,16 @@ def _solve_ionbal_eigen(Z, Te, init_pop=False, tau=False, \
|
|
|
5735
5741
|
for itau, ttau in enumerate(tau_vec):
|
|
5736
5742
|
if Z >1:
|
|
5737
5743
|
for i in range(Z):
|
|
5738
|
-
worktmp[i] = fspectmp[i]*numpy.exp(
|
|
5744
|
+
worktmp[i] = fspectmp[i]*numpy.exp(dd.data['EIG'][kTindex,i]*delt*ttau)
|
|
5739
5745
|
|
|
5740
5746
|
else:
|
|
5741
|
-
worktmp[0] = fspectmp[0]*numpy.exp(
|
|
5747
|
+
worktmp[0] = fspectmp[0]*numpy.exp(dd.data['EIG'][kTindex]*delt*ttau)
|
|
5742
5748
|
|
|
5743
5749
|
frac = numpy.zeros(Z+1)
|
|
5744
5750
|
for i in range(Z):
|
|
5745
5751
|
for j in range(Z):
|
|
5746
5752
|
frac[i+1] += worktmp[j]*righteigenvec[j][i]
|
|
5747
|
-
frac[i+1] +=
|
|
5753
|
+
frac[i+1] += dd.data['FEQB'][kTindex][i+1]
|
|
5748
5754
|
|
|
5749
5755
|
if debug:
|
|
5750
5756
|
frac_out[ikT, itau,:] = frac
|
|
@@ -5776,22 +5776,31 @@ def _lorentz_power(version):
|
|
|
5776
5776
|
|
|
5777
5777
|
f.write("%s\n"%(s))
|
|
5778
5778
|
|
|
5779
|
-
ses = spectrum.
|
|
5780
|
-
ses.
|
|
5779
|
+
ses = spectrum.CIESession(elements=Zlist)
|
|
5780
|
+
ses.set_response(ebins, raw=True)
|
|
5781
5781
|
for iT in range(51):
|
|
5782
5782
|
kT = 4.0+(iT*0.1)
|
|
5783
5783
|
kT = 10**kT
|
|
5784
5784
|
if iT == 0:
|
|
5785
5785
|
kT+=1
|
|
5786
|
-
ses.
|
|
5786
|
+
ses.return_spectrum(kT, teunit='K', nearest=True)
|
|
5787
5787
|
print(iT)
|
|
5788
5788
|
|
|
5789
|
+
ses.set_eebrems(False)
|
|
5789
5790
|
for Z in Zlist:
|
|
5790
5791
|
tot_e = numpy.zeros(51)
|
|
5791
5792
|
s = "%2i"%(Z)
|
|
5792
5793
|
print(Z)
|
|
5793
5794
|
for iT in range(2,53):
|
|
5794
|
-
|
|
5795
|
+
kT = 4.0+((iT-2)*0.1)
|
|
5796
|
+
kT = 10**kT
|
|
5797
|
+
if iT == 0:
|
|
5798
|
+
kT+=1
|
|
5799
|
+
|
|
5800
|
+
ses.set_abund(Zlist, 0.0)
|
|
5801
|
+
ses.set_abund(Z, 1.0)
|
|
5802
|
+
|
|
5803
|
+
spec = ses.return_spectrum(kT, teunit='K',nearest=True)
|
|
5795
5804
|
e = spec*energy
|
|
5796
5805
|
# add corrections for NH != 1, to 1m3 volume, and abundance set
|
|
5797
5806
|
# from AG89 to Lodders 2009
|
|
@@ -5926,7 +5935,7 @@ def _lorentz_neicsd(version):
|
|
|
5926
5935
|
f.write('Z Ion Pop\n')
|
|
5927
5936
|
for Z in [1,2,6,7,8,10,12,14,16,18,20,26,28]:
|
|
5928
5937
|
print(Z)
|
|
5929
|
-
ionbal = apec.
|
|
5938
|
+
ionbal = apec._solve_ionbal_eigen(Z, Te_final, tau=tau, init_pop=Te_init, \
|
|
5930
5939
|
teunit='K')
|
|
5931
5940
|
|
|
5932
5941
|
for i in range(len(ionbal)):
|
|
@@ -6014,7 +6023,7 @@ def _lorentz_neilines(version):
|
|
|
6014
6023
|
|
|
6015
6024
|
for Z in [1,2,6,7,8,10,12,14,16,18,20,26,28]:
|
|
6016
6025
|
|
|
6017
|
-
ionbal[Z] = apec.
|
|
6026
|
+
ionbal[Z] = apec._solve_ionbal_eigen(Z, Te_final, tau=tau, init_pop=Te_init, \
|
|
6018
6027
|
teunit='K')
|
|
6019
6028
|
|
|
6020
6029
|
ionbal_square = numpy.zeros([31,31])
|
|
@@ -6178,45 +6187,56 @@ def _lorentz_neicont(version):
|
|
|
6178
6187
|
now = datetime.datetime.now()
|
|
6179
6188
|
util.switch_version(version)
|
|
6180
6189
|
|
|
6181
|
-
# make the spectrum.
|
|
6182
|
-
speclo = numpy.zeros(len(ebins)-1)
|
|
6183
|
-
specup = numpy.zeros(len(ebins)-1)
|
|
6184
|
-
ag89 = get_abundance(abundset='AG89')
|
|
6185
|
-
lodd = get_abundance(abundset='Lodd09')
|
|
6186
|
-
ldat = pyfits.open(os.path.expandvars("$ATOMDB/apec_nei_line.fits"))
|
|
6187
|
-
cdat = pyfits.open(os.path.expandvars("$ATOMDB/apec_nei_comp.fits"))
|
|
6188
|
-
|
|
6189
6190
|
|
|
6190
|
-
upind = numpy.where(ldat[1].data['kT']>Te_final*const.KBOLTZ)[0][0]+2
|
|
6191
|
-
loind = upind-1
|
|
6192
6191
|
|
|
6193
|
-
|
|
6194
|
-
|
|
6195
|
-
|
|
6196
|
-
|
|
6197
|
-
|
|
6198
|
-
|
|
6199
|
-
|
|
6200
|
-
|
|
6201
|
-
|
|
6202
|
-
|
|
6203
|
-
|
|
6204
|
-
|
|
6205
|
-
|
|
6206
|
-
|
|
6207
|
-
|
|
6208
|
-
|
|
6209
|
-
|
|
6210
|
-
#
|
|
6211
|
-
|
|
6212
|
-
|
|
6213
|
-
|
|
6214
|
-
|
|
6215
|
-
|
|
6216
|
-
|
|
6217
|
-
|
|
6218
|
-
|
|
6219
|
-
|
|
6192
|
+
# make the spectrum.
|
|
6193
|
+
neispec = spectrum.NEISession()
|
|
6194
|
+
neispec.set_abundset('Lodd09')
|
|
6195
|
+
#neispec.set_abund('Lodd09')
|
|
6196
|
+
|
|
6197
|
+
neispec.set_response(ebins, raw=True)
|
|
6198
|
+
spec=neispec.return_spectrum(Te_init, tau, init_pop=Te_init, teunit='K')
|
|
6199
|
+
|
|
6200
|
+
# speclo = numpy.zeros(len(ebins)-1)
|
|
6201
|
+
# specup = numpy.zeros(len(ebins)-1)
|
|
6202
|
+
# ag89 = get_abundance(abundset='AG89')
|
|
6203
|
+
# lodd = get_abundance(abundset='Lodd09')
|
|
6204
|
+
# ldat = pyfits.open(os.path.expandvars("$ATOMDB/apec_nei_line.fits"))
|
|
6205
|
+
# cdat = pyfits.open(os.path.expandvars("$ATOMDB/apec_nei_comp.fits"))
|
|
6206
|
+
|
|
6207
|
+
|
|
6208
|
+
# upind = numpy.where(ldat[1].data['kT']>Te_final*const.KBOLTZ)[0][0]+2
|
|
6209
|
+
# loind = upind-1
|
|
6210
|
+
|
|
6211
|
+
|
|
6212
|
+
|
|
6213
|
+
# for Z in range(1,31):
|
|
6214
|
+
# print("starting element %s"%(atomic.Ztoelname(Z)))
|
|
6215
|
+
# ionbal = apec._solve_ionbal_eigen(Z, Te_final, tau=tau, init_pop=Te_init, \
|
|
6216
|
+
# teunit='K')
|
|
6217
|
+
|
|
6218
|
+
# abund = lodd[Z]/ag89[Z]
|
|
6219
|
+
# for z in range(len(ionbal)):
|
|
6220
|
+
# z1 = z+1
|
|
6221
|
+
# if ionbal[z] > 1e-10:
|
|
6222
|
+
# tmp = spectrum.make_ion_spectrum(ebins, loind, Z, z1, linefile=ldat,\
|
|
6223
|
+
# cocofile=cdat)
|
|
6224
|
+
# speclo+=tmp*ionbal[z]*abund
|
|
6225
|
+
|
|
6226
|
+
# tmp = spectrum.make_ion_spectrum(ebins, upind, Z, z1, linefile=ldat,\
|
|
6227
|
+
# cocofile=cdat)
|
|
6228
|
+
# specup+=tmp*ionbal[z]*abund
|
|
6229
|
+
|
|
6230
|
+
# # now interpolate
|
|
6231
|
+
# t1 = numpy.log(ldat[1].data['kT'][loind-2])
|
|
6232
|
+
# t2 = numpy.log(ldat[1].data['kT'][upind-2])
|
|
6233
|
+
# print("t1 = ", t1)
|
|
6234
|
+
# print("t2 = ", t2)
|
|
6235
|
+
# print("log(tefinal)", numpy.log(Te_final*const.KBOLTZ))
|
|
6236
|
+
# r1 = 1- (numpy.log(Te_final*const.KBOLTZ)-t1)/(t2-t1)
|
|
6237
|
+
# r2 = 1- r1
|
|
6238
|
+
# print("r1= ",r1, "r2 ", r2)
|
|
6239
|
+
# spec = speclo*r1+specup*r2
|
|
6220
6240
|
|
|
6221
6241
|
# now scale spectrum by NH to get correct norm, and 1e6 to get to 1m^3
|
|
6222
6242
|
spec *= 0.8365*1e6
|
|
@@ -6244,7 +6264,7 @@ def __get_lorentz_levpop(Z,z1,up,lo, Te, Ne, version, linelabel):
|
|
|
6244
6264
|
# first, get the ionization balance
|
|
6245
6265
|
datacache={}
|
|
6246
6266
|
lvdat = get_data(Z,z1,'LV', datacache=datacache)
|
|
6247
|
-
ionbal = apec.
|
|
6267
|
+
ionbal = apec._solve_ionbal_eigen(Z,Te, datacache=datacache)
|
|
6248
6268
|
settings = apec.parse_par_file(os.path.expandvars('$ATOMDB/apec_v%s.par'%\
|
|
6249
6269
|
(version)))
|
|
6250
6270
|
|
|
@@ -2849,7 +2849,7 @@ class CIESession():
|
|
|
2849
2849
|
Returns
|
|
2850
2850
|
-------
|
|
2851
2851
|
emiss_aeff : array(float)
|
|
2852
|
-
Emissivity
|
|
2852
|
+
Emissivity * Aeff
|
|
2853
2853
|
"""
|
|
2854
2854
|
|
|
2855
2855
|
|
|
@@ -6327,6 +6327,10 @@ class NEISession(CIESession):
|
|
|
6327
6327
|
|
|
6328
6328
|
|
|
6329
6329
|
self.spectra.ebins = self.specbins
|
|
6330
|
+
self.spectra.dopseudo = self.dopseudo
|
|
6331
|
+
self.spectra.dolines = self.dolines
|
|
6332
|
+
self.spectra.docont = self.docont
|
|
6333
|
+
|
|
6330
6334
|
self.spectra.ebins_checksum=hashlib.md5(self.spectra.ebins).hexdigest()
|
|
6331
6335
|
s= self.spectra.return_spectrum(Te, tau, init_pop=init_pop, \
|
|
6332
6336
|
teunit=teunit, \
|
|
@@ -6653,7 +6657,10 @@ class _NEISpectrum(_CIESpectrum):
|
|
|
6653
6657
|
thermal_broadening = self.thermal_broadening,\
|
|
6654
6658
|
broaden_limit = epslimit,\
|
|
6655
6659
|
velocity_broadening = self.velocity_broadening,\
|
|
6656
|
-
broaden_object=broaden_object
|
|
6660
|
+
broaden_object=broaden_object,\
|
|
6661
|
+
dopseudo=self.dopseudo,\
|
|
6662
|
+
docont=self.docont,\
|
|
6663
|
+
dolines=self.dolines) *\
|
|
6657
6664
|
ionfrac[z1-1]
|
|
6658
6665
|
|
|
6659
6666
|
|
|
@@ -637,7 +637,7 @@ def check_version():
|
|
|
637
637
|
"""
|
|
638
638
|
import curl
|
|
639
639
|
try:
|
|
640
|
-
|
|
640
|
+
adbroot = os.environ['ATOMDB']
|
|
641
641
|
except KeyError:
|
|
642
642
|
print("You must set the ATOMDB environment variable for this to work!")
|
|
643
643
|
raise
|
|
@@ -647,6 +647,9 @@ def check_version():
|
|
|
647
647
|
|
|
648
648
|
a.close()
|
|
649
649
|
|
|
650
|
+
userprefs = load_user_prefs()
|
|
651
|
+
userid = userprefs['USERID']
|
|
652
|
+
|
|
650
653
|
curversion = open(os.path.expandvars('$ATOMDB/VERSION'),'r').read()[:-1]
|
|
651
654
|
if (curversion != newversion):
|
|
652
655
|
ans = question("New version %s is available. Upgrade?"%(newversion),"y",["y","n"])
|
|
@@ -656,20 +659,21 @@ def check_version():
|
|
|
656
659
|
"Do you wish to download the emissivity data for these files (recommended)?",\
|
|
657
660
|
"y",multichoice=["y","n"])
|
|
658
661
|
|
|
662
|
+
|
|
663
|
+
|
|
659
664
|
if get_new_files=='y':
|
|
660
|
-
download_atomdb_emissivity_files(adbroot, userid,
|
|
665
|
+
download_atomdb_emissivity_files(adbroot, userid, newversion)
|
|
661
666
|
|
|
662
667
|
get_new_nei_files=question(\
|
|
663
668
|
"Do you wish to download the non-equilibrium emissivity data for these files (recommended)?",\
|
|
664
669
|
"y",multichoice=["y","n"])
|
|
665
670
|
|
|
666
671
|
if get_new_nei_files=='y':
|
|
667
|
-
download_atomdb_nei_emissivity_files(adbroot, userid,
|
|
672
|
+
download_atomdb_nei_emissivity_files(adbroot, userid, newversion)
|
|
668
673
|
else:
|
|
669
674
|
print("Current version %s is up to date" %(curversion))
|
|
670
675
|
|
|
671
676
|
# now update the time the last version check happened.
|
|
672
|
-
userprefs = load_user_prefs()
|
|
673
677
|
userprefs['LASTVERSIONCHECK'] = time.time()
|
|
674
678
|
write_user_prefs(userprefs)
|
|
675
679
|
|
|
@@ -711,7 +715,7 @@ def switch_version(version, force=False):
|
|
|
711
715
|
|
|
712
716
|
# check the AtomDB version string is a suitable string
|
|
713
717
|
|
|
714
|
-
if not re.match(
|
|
718
|
+
if not re.match(r"^\d*\.\d*\.\d*$",version):
|
|
715
719
|
print("Error: version number must be of format %i.%i.%i, e.g. 3.0.2")
|
|
716
720
|
return
|
|
717
721
|
|
|
@@ -2309,7 +2313,7 @@ def make_release_filetree(filemapfile_in, filemapfile_out, \
|
|
|
2309
2313
|
for key in ['em','ci','pi','la','ai','ir','ec','lv','pc','dr']:
|
|
2310
2314
|
if fmap[key][i] =='': continue
|
|
2311
2315
|
|
|
2312
|
-
if re.search("_\d.fits",fmap[key][i]):
|
|
2316
|
+
if re.search(r"_\d.fits",fmap[key][i]):
|
|
2313
2317
|
|
|
2314
2318
|
fin = fmap[key][i]
|
|
2315
2319
|
fmapf = re.sub(replace_source, 'XXX', fin)
|
|
@@ -2548,6 +2552,8 @@ def make_linelist(linefile, outfile):
|
|
|
2548
2552
|
hdu0.header['HDUCLASS']= ("EMISSIVITY","Line Emission Output")
|
|
2549
2553
|
hdu0.header['HDUCLAS1']= ("SHORT_LINE","Line Emission Output")
|
|
2550
2554
|
hdu0.header['HDUVERS']= ("1.0.0","Version of datafile")
|
|
2555
|
+
hdu0.header['SIONBAL']= d[0].header.cards['SIONBAL']
|
|
2556
|
+
hdu0.header['SEIGEN']= d[0].header.cards['SEIGEN']
|
|
2551
2557
|
|
|
2552
2558
|
|
|
2553
2559
|
#secondary HDU, hdu1:
|
|
@@ -1,13 +1,38 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pyatomdb
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.3
|
|
4
4
|
Summary: AtomDB python library.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
Author-email: Adam Foster <afoster@cfa.harvard.edu>
|
|
6
|
+
Maintainer-email: Adam Foster <afoster@cfa.harvard.edu>
|
|
7
|
+
License: Copyright 2015-25 Smithsonian Institution. Permission is granted to use, copy,
|
|
8
|
+
modify, and distribute this software and its documentation for educational,
|
|
9
|
+
research and non-profit purposes, without fee and without a signed
|
|
10
|
+
licensing agreement, provided that this notice, including the following
|
|
11
|
+
two paragraphs, appear in all copies, modifications and distributions.
|
|
12
|
+
For commercial licensing, contact the Office of the Chief Information
|
|
13
|
+
Officer, Smithsonian Institution, 380 Herndon Parkway, MRC 1010, Herndon,
|
|
14
|
+
VA. 20170, 202-633-5256.
|
|
15
|
+
|
|
16
|
+
This software and accompanying documentation is supplied "as is" without
|
|
17
|
+
warranty of any kind. The copyright holder and the Smithsonian
|
|
18
|
+
Institution: (1) expressly disclaim any warranties, express or implied,
|
|
19
|
+
including but not limited to any implied warranties of merchantability,
|
|
20
|
+
fitness for a particular purpose, title or non-infringement; (2) do not
|
|
21
|
+
assume any legal liability or responsibility for the accuracy,
|
|
22
|
+
completeness, or usefulness of the software; (3) do not represent that use
|
|
23
|
+
of the software would not infringe privately owned rights; (4) do not
|
|
24
|
+
warrant that the software is error-free or will be maintained, supported,
|
|
25
|
+
updated or enhanced; (5) will not be liable for any indirect, incidental,
|
|
26
|
+
consequential special or punitive damages of any kind or nature,
|
|
27
|
+
including but not limited to lost profits or loss of data, on any basis
|
|
28
|
+
arising from contract, tort or otherwise, even if any of the parties has
|
|
29
|
+
been warned of the possibility of such loss or damage.
|
|
30
|
+
|
|
31
|
+
Project-URL: Homepage, http://www.atomdb.org
|
|
32
|
+
Project-URL: Documentation, https://atomdb.readthedocs.io/en/master/
|
|
33
|
+
Project-URL: Repository, https://github.com/AtomDB/pyatomdb.git
|
|
34
|
+
Project-URL: Issues, https://github.com/AtomDB/pyatomdb/issues
|
|
9
35
|
Classifier: Development Status :: 4 - Beta
|
|
10
|
-
Classifier: Environment :: Console
|
|
11
36
|
Classifier: Intended Audience :: Developers
|
|
12
37
|
Classifier: Intended Audience :: Education
|
|
13
38
|
Classifier: Intended Audience :: End Users/Desktop
|
|
@@ -16,7 +41,7 @@ Classifier: Topic :: Scientific/Engineering :: Astronomy
|
|
|
16
41
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
17
42
|
Classifier: Programming Language :: Python :: 3
|
|
18
43
|
Classifier: Operating System :: POSIX
|
|
19
|
-
|
|
44
|
+
Description-Content-Type: text/x-rst
|
|
20
45
|
|
|
21
46
|
========
|
|
22
47
|
PYATOMDB
|
|
@@ -283,3 +308,7 @@ Updated to allow access to all AtomDB v3.1.x eigenvector files (path was hardcod
|
|
|
283
308
|
1.0.2
|
|
284
309
|
January 31st 2025
|
|
285
310
|
Removed debug output erroneously added to spectrum.py calls.
|
|
311
|
+
|
|
312
|
+
1.0.3
|
|
313
|
+
March 7th 2025
|
|
314
|
+
Repaired util.py check_version command, along with other bug fixes.
|
|
@@ -4,6 +4,7 @@ README.rst
|
|
|
4
4
|
README.txt
|
|
5
5
|
linear_approx.c
|
|
6
6
|
make_test_outputs.py
|
|
7
|
+
pyproject.toml
|
|
7
8
|
setup.py
|
|
8
9
|
docs/Makefile
|
|
9
10
|
docs/apec.rst
|
|
@@ -89,7 +90,6 @@ pyatomdb/util.py
|
|
|
89
90
|
pyatomdb.egg-info/PKG-INFO
|
|
90
91
|
pyatomdb.egg-info/SOURCES.txt
|
|
91
92
|
pyatomdb.egg-info/dependency_links.txt
|
|
92
|
-
pyatomdb.egg-info/not-zip-safe
|
|
93
93
|
pyatomdb.egg-info/requires.txt
|
|
94
94
|
pyatomdb.egg-info/top_level.txt
|
|
95
95
|
tests/__init__.py
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools >= 64"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
dynamic = ["version"]
|
|
7
|
+
name = 'pyatomdb'
|
|
8
|
+
dependencies = ["numpydoc", "requests", "wget", "numpy>=1.9.0", "scipy>=1.9.0", "joblib", "mock", "astropy", "pycurl"]
|
|
9
|
+
authors = [
|
|
10
|
+
{name = "Adam Foster", email = "afoster@cfa.harvard.edu"}
|
|
11
|
+
]
|
|
12
|
+
maintainers = [
|
|
13
|
+
{name = "Adam Foster", email = "afoster@cfa.harvard.edu"}
|
|
14
|
+
]
|
|
15
|
+
description="AtomDB python library."
|
|
16
|
+
#url=['http://www.atomdb.org']
|
|
17
|
+
#packages=['pyatomdb','tests']
|
|
18
|
+
|
|
19
|
+
classifiers=["Development Status :: 4 - Beta",
|
|
20
|
+
# "Environment :: Console",
|
|
21
|
+
"Intended Audience :: Developers",
|
|
22
|
+
"Intended Audience :: Education",
|
|
23
|
+
"Intended Audience :: End Users/Desktop",
|
|
24
|
+
"Intended Audience :: Science/Research",
|
|
25
|
+
"Topic :: Scientific/Engineering :: Astronomy",
|
|
26
|
+
"Topic :: Scientific/Engineering :: Physics",
|
|
27
|
+
"Programming Language :: Python :: 3",
|
|
28
|
+
"Operating System :: POSIX"]
|
|
29
|
+
|
|
30
|
+
readme = "README.rst"
|
|
31
|
+
license = {file = "COPYING.txt"}
|
|
32
|
+
[project.urls]
|
|
33
|
+
Homepage = "http://www.atomdb.org"
|
|
34
|
+
Documentation = "https://atomdb.readthedocs.io/en/master/"
|
|
35
|
+
Repository = "https://github.com/AtomDB/pyatomdb.git"
|
|
36
|
+
Issues = "https://github.com/AtomDB/pyatomdb/issues"
|
|
37
|
+
#Changelog = "https://github.com/me/spam/blob/master/CHANGELOG.md"
|
|
38
|
+
|
|
39
|
+
[tool.setuptools.dynamic]
|
|
40
|
+
version = {attr = "pyatomdb.__version__"}
|
|
@@ -49,36 +49,37 @@ if on_rtd:
|
|
|
49
49
|
|
|
50
50
|
else:
|
|
51
51
|
extmos= [linapprox]
|
|
52
|
-
|
|
52
|
+
#setup()
|
|
53
53
|
setup(name='pyatomdb',
|
|
54
|
-
version=get_version('pyatomdb/__init__.py'),
|
|
55
|
-
description='AtomDB python library.',
|
|
56
|
-
url='http://www.atomdb.org',
|
|
57
|
-
author='Adam Foster',
|
|
58
|
-
author_email='afoster@cfa.harvard.edu',
|
|
59
|
-
license='Smithsonian',
|
|
54
|
+
# version=get_version('pyatomdb/__init__.py'),
|
|
55
|
+
# description='AtomDB python library.',
|
|
56
|
+
# url='http://www.atomdb.org',
|
|
57
|
+
# author='Adam Foster',
|
|
58
|
+
# author_email='afoster@cfa.harvard.edu',
|
|
59
|
+
# license='Smithsonian',
|
|
60
60
|
packages=['pyatomdb','tests'],
|
|
61
|
-
classifiers=['Development Status :: 4 - Beta',\
|
|
62
|
-
'Environment :: Console',\
|
|
63
|
-
'Intended Audience :: Developers',\
|
|
64
|
-
'Intended Audience :: Education',\
|
|
65
|
-
'Intended Audience :: End Users/Desktop',\
|
|
66
|
-
'Intended Audience :: Science/Research',\
|
|
67
|
-
'Topic :: Scientific/Engineering :: Astronomy',\
|
|
68
|
-
'Topic :: Scientific/Engineering :: Physics',\
|
|
69
|
-
'Programming Language :: Python :: 3',\
|
|
70
|
-
'Operating System :: POSIX'],
|
|
71
|
-
zip_safe=False,
|
|
72
|
-
long_description = README_TEXT,\
|
|
73
|
-
install_requires=[
|
|
74
|
-
"numpydoc",\
|
|
75
|
-
"requests",\
|
|
76
|
-
"wget",\
|
|
77
|
-
"numpy>=1.9.0",\
|
|
78
|
-
"scipy>=1.9.0",\
|
|
79
|
-
"joblib",\
|
|
80
|
-
"mock",\
|
|
81
|
-
"astropy",\
|
|
82
|
-
"pycurl"],
|
|
61
|
+
# classifiers=['Development Status :: 4 - Beta',\
|
|
62
|
+
# 'Environment :: Console',\
|
|
63
|
+
# 'Intended Audience :: Developers',\
|
|
64
|
+
# 'Intended Audience :: Education',\
|
|
65
|
+
# 'Intended Audience :: End Users/Desktop',\
|
|
66
|
+
# 'Intended Audience :: Science/Research',\
|
|
67
|
+
# 'Topic :: Scientific/Engineering :: Astronomy',\
|
|
68
|
+
# 'Topic :: Scientific/Engineering :: Physics',\
|
|
69
|
+
# 'Programming Language :: Python :: 3',\
|
|
70
|
+
# 'Operating System :: POSIX'],
|
|
71
|
+
# zip_safe=False,
|
|
72
|
+
# long_description = README_TEXT,\
|
|
73
|
+
# install_requires=[
|
|
74
|
+
# "numpydoc",\
|
|
75
|
+
# "requests",\
|
|
76
|
+
# "wget",\
|
|
77
|
+
# "numpy>=1.9.0",\
|
|
78
|
+
# "scipy>=1.9.0",\
|
|
79
|
+
# "joblib",\
|
|
80
|
+
# "mock",\
|
|
81
|
+
# "astropy",\
|
|
82
|
+
# "pycurl"],
|
|
83
83
|
ext_modules = extmos)
|
|
84
|
-
|
|
84
|
+
#
|
|
85
|
+
#
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|