jaxspec 0.0.5__py3-none-any.whl → 0.0.7__py3-none-any.whl
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.
- jaxspec/analysis/results.py +250 -121
- jaxspec/data/__init__.py +4 -4
- jaxspec/data/obsconf.py +53 -8
- jaxspec/data/util.py +29 -20
- jaxspec/fit.py +329 -81
- jaxspec/model/__init__.py +0 -1
- jaxspec/model/_additive/apec.py +56 -117
- jaxspec/model/_additive/apec_loaders.py +42 -59
- jaxspec/model/additive.py +27 -13
- jaxspec/model/background.py +50 -16
- jaxspec/model/multiplicative.py +20 -25
- jaxspec/util/__init__.py +45 -0
- jaxspec/util/abundance.py +5 -3
- jaxspec/util/online_storage.py +15 -0
- jaxspec/util/typing.py +43 -0
- {jaxspec-0.0.5.dist-info → jaxspec-0.0.7.dist-info}/METADATA +12 -9
- {jaxspec-0.0.5.dist-info → jaxspec-0.0.7.dist-info}/RECORD +19 -22
- jaxspec/tables/abundances.dat +0 -31
- jaxspec/tables/new_apec.nc +0 -0
- jaxspec/tables/xsect_phabs_aspl.fits +0 -0
- jaxspec/tables/xsect_tbabs_wilm.fits +0 -0
- jaxspec/tables/xsect_wabs_angr.fits +0 -0
- {jaxspec-0.0.5.dist-info → jaxspec-0.0.7.dist-info}/LICENSE.md +0 -0
- {jaxspec-0.0.5.dist-info → jaxspec-0.0.7.dist-info}/WHEEL +0 -0
jaxspec/model/multiplicative.py
CHANGED
|
@@ -5,9 +5,11 @@ from abc import ABC, abstractmethod
|
|
|
5
5
|
import haiku as hk
|
|
6
6
|
import jax.numpy as jnp
|
|
7
7
|
import numpy as np
|
|
8
|
-
|
|
9
|
-
from haiku.initializers import Constant as HaikuConstant
|
|
8
|
+
|
|
10
9
|
from astropy.table import Table
|
|
10
|
+
from haiku.initializers import Constant as HaikuConstant
|
|
11
|
+
|
|
12
|
+
from ..util.online_storage import table_manager
|
|
11
13
|
from .abc import ModelComponent
|
|
12
14
|
|
|
13
15
|
|
|
@@ -15,8 +17,7 @@ class MultiplicativeComponent(ModelComponent, ABC):
|
|
|
15
17
|
type = "multiplicative"
|
|
16
18
|
|
|
17
19
|
@abstractmethod
|
|
18
|
-
def continuum(self, energy):
|
|
19
|
-
...
|
|
20
|
+
def continuum(self, energy): ...
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
class Expfac(MultiplicativeComponent):
|
|
@@ -62,11 +63,9 @@ class Tbabs(MultiplicativeComponent):
|
|
|
62
63
|
|
|
63
64
|
"""
|
|
64
65
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
energy = jnp.asarray(np.array(table["ENERGY"]), dtype=np.float32)
|
|
69
|
-
sigma = jnp.asarray(np.array(table["SIGMA"]), dtype=np.float32)
|
|
66
|
+
table = Table.read(table_manager.fetch("xsect_tbabs_wilm.fits"))
|
|
67
|
+
energy = jnp.asarray(np.array(table["ENERGY"]), dtype=np.float64)
|
|
68
|
+
sigma = jnp.asarray(np.array(table["SIGMA"]), dtype=np.float64)
|
|
70
69
|
|
|
71
70
|
def continuum(self, energy):
|
|
72
71
|
nh = hk.get_parameter("N_H", [], init=HaikuConstant(1))
|
|
@@ -85,11 +84,9 @@ class Phabs(MultiplicativeComponent):
|
|
|
85
84
|
|
|
86
85
|
"""
|
|
87
86
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
energy = jnp.asarray(np.array(table["ENERGY"]), dtype=np.float32)
|
|
92
|
-
sigma = jnp.asarray(np.array(table["SIGMA"]), dtype=np.float32)
|
|
87
|
+
table = Table.read(table_manager.fetch("xsect_phabs_aspl.fits"))
|
|
88
|
+
energy = jnp.asarray(np.array(table["ENERGY"]), dtype=np.float64)
|
|
89
|
+
sigma = jnp.asarray(np.array(table["SIGMA"]), dtype=np.float64)
|
|
93
90
|
|
|
94
91
|
def continuum(self, energy):
|
|
95
92
|
nh = hk.get_parameter("N_H", [], init=HaikuConstant(1))
|
|
@@ -108,11 +105,9 @@ class Wabs(MultiplicativeComponent):
|
|
|
108
105
|
|
|
109
106
|
"""
|
|
110
107
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
energy = jnp.asarray(np.array(table["ENERGY"]), dtype=np.float32)
|
|
115
|
-
sigma = jnp.asarray(np.array(table["SIGMA"]), dtype=np.float32)
|
|
108
|
+
table = Table.read(table_manager.fetch("xsect_wabs_angr.fits"))
|
|
109
|
+
energy = jnp.asarray(np.array(table["ENERGY"]), dtype=np.float64)
|
|
110
|
+
sigma = jnp.asarray(np.array(table["SIGMA"]), dtype=np.float64)
|
|
116
111
|
|
|
117
112
|
def continuum(self, energy):
|
|
118
113
|
nh = hk.get_parameter("N_H", [], init=HaikuConstant(1))
|
|
@@ -145,7 +140,9 @@ class Gabs(MultiplicativeComponent):
|
|
|
145
140
|
sigma = hk.get_parameter("sigma", [], init=HaikuConstant(1))
|
|
146
141
|
center = hk.get_parameter("E_0", [], init=HaikuConstant(1))
|
|
147
142
|
|
|
148
|
-
return jnp.exp(
|
|
143
|
+
return jnp.exp(
|
|
144
|
+
-tau / (jnp.sqrt(2 * jnp.pi) * sigma) * jnp.exp(-0.5 * ((energy - center) / sigma) ** 2)
|
|
145
|
+
)
|
|
149
146
|
|
|
150
147
|
|
|
151
148
|
class Highecut(MultiplicativeComponent):
|
|
@@ -210,11 +207,9 @@ class Tbpcf(MultiplicativeComponent):
|
|
|
210
207
|
|
|
211
208
|
"""
|
|
212
209
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
energy = jnp.asarray(np.array(table["ENERGY"]), dtype=np.float32)
|
|
217
|
-
sigma = jnp.asarray(np.array(table["SIGMA"]), dtype=np.float32)
|
|
210
|
+
table = Table.read(table_manager.fetch("xsect_tbabs_wilm.fits"))
|
|
211
|
+
energy = jnp.asarray(np.array(table["ENERGY"]), dtype=np.float64)
|
|
212
|
+
sigma = jnp.asarray(np.array(table["SIGMA"]), dtype=np.float64)
|
|
218
213
|
|
|
219
214
|
def continuum(self, energy):
|
|
220
215
|
nh = hk.get_parameter("N_H", [], init=HaikuConstant(1))
|
jaxspec/util/__init__.py
CHANGED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from collections.abc import Callable
|
|
2
|
+
from contextlib import contextmanager
|
|
3
|
+
from time import perf_counter
|
|
4
|
+
|
|
5
|
+
import haiku as hk
|
|
6
|
+
|
|
7
|
+
from jax.random import PRNGKey, split
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@contextmanager
|
|
11
|
+
def catchtime(desc="Task", print_time=True) -> Callable[[], float]:
|
|
12
|
+
"""
|
|
13
|
+
Context manager to measure time taken by a task.
|
|
14
|
+
|
|
15
|
+
Parameters
|
|
16
|
+
----------
|
|
17
|
+
desc (str): Description of the task.
|
|
18
|
+
print_time (bool): Whether to print the time taken by the task.
|
|
19
|
+
|
|
20
|
+
Returns
|
|
21
|
+
-------
|
|
22
|
+
Callable[[], float]: Function to get the time taken by the task.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
t1 = t2 = perf_counter()
|
|
26
|
+
yield lambda: t2 - t1
|
|
27
|
+
t2 = perf_counter()
|
|
28
|
+
if print_time:
|
|
29
|
+
print(f"{desc}: {t2 - t1:.3f} seconds")
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def sample_prior(dict_of_prior, key=PRNGKey(0), flat_parameters=False):
|
|
33
|
+
"""
|
|
34
|
+
Sample the prior distribution from a dict of distributions
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
parameters = dict(hk.data_structures.to_haiku_dict(dict_of_prior))
|
|
38
|
+
parameters_flat = {}
|
|
39
|
+
|
|
40
|
+
for m, n, distribution in hk.data_structures.traverse(dict_of_prior):
|
|
41
|
+
key, subkey = split(key)
|
|
42
|
+
parameters[m][n] = distribution.sample(subkey)
|
|
43
|
+
parameters_flat[m + "_" + n] = distribution.sample(subkey)
|
|
44
|
+
|
|
45
|
+
return parameters if not flat_parameters else parameters_flat
|
jaxspec/util/abundance.py
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import importlib.resources
|
|
2
1
|
import pandas as pd
|
|
3
|
-
|
|
2
|
+
|
|
4
3
|
from astropy.io import ascii
|
|
4
|
+
from mendeleev.fetch import fetch_table
|
|
5
|
+
|
|
6
|
+
from .online_storage import table_manager
|
|
5
7
|
|
|
6
|
-
abundance_table: pd.DataFrame = ascii.read(
|
|
8
|
+
abundance_table: pd.DataFrame = ascii.read(table_manager.fetch("abundances.dat")).to_pandas()
|
|
7
9
|
element_data: pd.DataFrame = fetch_table("elements")[0:30][
|
|
8
10
|
["symbol", "atomic_number", "atomic_radius", "atomic_volume", "atomic_weight"]
|
|
9
11
|
].rename(columns={"symbol": "Element"})
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import pooch
|
|
2
|
+
|
|
3
|
+
table_manager = pooch.create(
|
|
4
|
+
# Use the default cache folder for the operating system
|
|
5
|
+
path=pooch.os_cache("jaxspec"),
|
|
6
|
+
base_url="https://github.com/renecotyfanboy/jaxspec-database/raw/main/",
|
|
7
|
+
# The registry specifies the files that can be fetched
|
|
8
|
+
registry={
|
|
9
|
+
"abundances.dat": "sha256:6a7826331f0de308af4631eed5c3b65accda99cd1aa8766f54119dd285b57992",
|
|
10
|
+
"apec.nc": "sha256:52e10e1e4147453890dac68845a1a629954283579eac602419634d43d3c101f9",
|
|
11
|
+
"xsect_tbabs_wilm.fits": "sha256:3cf45e45c9d671c4c4fc128314b7c3a68b30f096eede6b3eb08bf55224a44935",
|
|
12
|
+
"xsect_phabs_aspl.fits": "sha256:3eaffba2a62e3a611e0a4e1ff4a57342d7d576f023d7bbb632710dc75b9a5019",
|
|
13
|
+
"xsect_wabs_angr.fits": "sha256:9b3073a477a30b52e207f2c4bf79afc6ae19abba8f207190ac4c697024f74073",
|
|
14
|
+
},
|
|
15
|
+
)
|
jaxspec/util/typing.py
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
from typing import Any
|
|
2
|
+
|
|
3
|
+
import numpyro.distributions as dist
|
|
4
|
+
|
|
5
|
+
from jax import numpy as jnp
|
|
6
|
+
from jax.typing import ArrayLike
|
|
7
|
+
from pydantic import BaseModel, field_validator
|
|
8
|
+
|
|
9
|
+
PriorDictType = dict[str, dict[str, dist.Distribution | ArrayLike]]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class PriorDictModel(BaseModel):
|
|
13
|
+
"""
|
|
14
|
+
Pydantic model for a nested dictionary of NumPyro distributions or JAX arrays.
|
|
15
|
+
The top level keys are strings, and the values are dictionaries with string keys and values that are either
|
|
16
|
+
NumPyro distributions or JAX arrays (or convertible to JAX arrays).
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
nested_dict: PriorDictType
|
|
20
|
+
|
|
21
|
+
class Config: # noqa D106
|
|
22
|
+
arbitrary_types_allowed = True
|
|
23
|
+
|
|
24
|
+
@field_validator("nested_dict", mode="before")
|
|
25
|
+
def check_and_cast_nested_dict(cls, value: dict[str, Any]):
|
|
26
|
+
if not isinstance(value, dict):
|
|
27
|
+
raise ValueError("The top level must be a dictionary")
|
|
28
|
+
|
|
29
|
+
for key, inner_dict in value.items():
|
|
30
|
+
if not isinstance(inner_dict, dict):
|
|
31
|
+
raise ValueError(f'The value for key "{key}" must be a dictionary')
|
|
32
|
+
|
|
33
|
+
for inner_key, obj in inner_dict.items():
|
|
34
|
+
if not isinstance(obj, dist.Distribution):
|
|
35
|
+
try:
|
|
36
|
+
# Attempt to cast to JAX array
|
|
37
|
+
value[key][inner_key] = jnp.array(obj, dtype=float)
|
|
38
|
+
except Exception as e:
|
|
39
|
+
raise ValueError(
|
|
40
|
+
f'The value for key "{inner_key}" in inner dictionary must '
|
|
41
|
+
f"be a NumPyro distribution or castable to JAX array. Error: {e}"
|
|
42
|
+
)
|
|
43
|
+
return value
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: jaxspec
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.7
|
|
4
4
|
Summary: jaxspec is a bayesian spectral fitting library for X-ray astronomy.
|
|
5
5
|
License: MIT
|
|
6
6
|
Author: sdupourque
|
|
@@ -10,24 +10,27 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
10
10
|
Classifier: Programming Language :: Python :: 3
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.10
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
-
Requires-Dist: arviz (>=0.17.1,<0.
|
|
13
|
+
Requires-Dist: arviz (>=0.17.1,<0.19.0)
|
|
14
14
|
Requires-Dist: astropy (>=6.0.0,<7.0.0)
|
|
15
15
|
Requires-Dist: chainconsumer (>=1.0.0,<2.0.0)
|
|
16
16
|
Requires-Dist: cmasher (>=1.6.3,<2.0.0)
|
|
17
17
|
Requires-Dist: dm-haiku (>=0.0.11,<0.0.13)
|
|
18
18
|
Requires-Dist: gpjax (>=0.8.0,<0.9.0)
|
|
19
|
-
Requires-Dist: jax (>=0.4.
|
|
20
|
-
Requires-Dist: jaxlib (>=0.4.
|
|
19
|
+
Requires-Dist: jax (>=0.4.29,<0.5.0)
|
|
20
|
+
Requires-Dist: jaxlib (>=0.4.29,<0.5.0)
|
|
21
|
+
Requires-Dist: jaxns (>=2.5.1,<3.0.0)
|
|
21
22
|
Requires-Dist: jaxopt (>=0.8.1,<0.9.0)
|
|
22
23
|
Requires-Dist: matplotlib (>=3.8.0,<4.0.0)
|
|
23
|
-
Requires-Dist: mendeleev (>=0.15
|
|
24
|
-
Requires-Dist: mkdocstrings (>=0.24
|
|
24
|
+
Requires-Dist: mendeleev (>=0.15,<0.17)
|
|
25
|
+
Requires-Dist: mkdocstrings (>=0.24,<0.26)
|
|
25
26
|
Requires-Dist: networkx (>=3.1,<4.0)
|
|
26
27
|
Requires-Dist: numpy (>=1.26.1,<2.0.0)
|
|
27
|
-
Requires-Dist: numpyro (>=0.
|
|
28
|
+
Requires-Dist: numpyro (>=0.15.0,<0.16.0)
|
|
29
|
+
Requires-Dist: optimistix (>=0.0.7,<0.0.8)
|
|
28
30
|
Requires-Dist: pandas (>=2.2.0,<3.0.0)
|
|
29
|
-
Requires-Dist:
|
|
30
|
-
Requires-Dist:
|
|
31
|
+
Requires-Dist: pooch (>=1.8.2,<2.0.0)
|
|
32
|
+
Requires-Dist: pyzmq (<27)
|
|
33
|
+
Requires-Dist: scipy (<1.14)
|
|
31
34
|
Requires-Dist: seaborn (>=0.13.1,<0.14.0)
|
|
32
35
|
Requires-Dist: simpleeval (>=0.9.13,<0.10.0)
|
|
33
36
|
Requires-Dist: sparse (>=0.15.1,<0.16.0)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
jaxspec/__init__.py,sha256=Sbn02lX6Y-zNXk17N8dec22c5jeypiS0LkHmGfz7lWA,126
|
|
2
2
|
jaxspec/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
3
|
jaxspec/analysis/compare.py,sha256=g2UFhmR9Zt-7cz5gQFOB6lXuklXB3yTyUvjTypOzoSY,725
|
|
4
|
-
jaxspec/analysis/results.py,sha256=
|
|
5
|
-
jaxspec/data/__init__.py,sha256=
|
|
4
|
+
jaxspec/analysis/results.py,sha256=58IM_HS3q8xgW0espGgh11eBdIJYa-m2XccW_-pO2to,24495
|
|
5
|
+
jaxspec/data/__init__.py,sha256=aantcYKC9kZFvaE-V2SIwSuLhIld17Kjrd9CIUu___Y,415
|
|
6
6
|
jaxspec/data/example_data/MOS1.arf,sha256=kBetpqOR1G-bVpuNAzj7q7YqU5fnwp6woW5OAtSGgVk,34560
|
|
7
7
|
jaxspec/data/example_data/MOS1.pha,sha256=fh_2ZFRbq0_c4e-UdocVtNh6ObJSth4HDnFCflyGkqw,83520
|
|
8
8
|
jaxspec/data/example_data/MOS1.rmf,sha256=LRE40iwxxTmKTu0RcLC4iwc1Ds_senrvT1UIcctDCa4,14846400
|
|
@@ -21,29 +21,26 @@ jaxspec/data/example_data/PNbackground_spectrum.fits,sha256=VeAX4MGbMkJF_vBJ3_Kn
|
|
|
21
21
|
jaxspec/data/example_data/fakeit.pha,sha256=IhkeWkE-b3ELECd_Uasjo9h3cXgcjCYH20wDpXJ8LMk,60480
|
|
22
22
|
jaxspec/data/grouping.py,sha256=hhgBt-voiH0DDSyePacaIGsaMnrYbJM_-ZeU66keC7I,622
|
|
23
23
|
jaxspec/data/instrument.py,sha256=0pSf1p82g7syDMmKm13eVbYih-Veiq5DnwsyZe6_b4g,3890
|
|
24
|
-
jaxspec/data/obsconf.py,sha256=
|
|
24
|
+
jaxspec/data/obsconf.py,sha256=0X9jR-pV-Pk4-EVuUdlVWgl_gBx8ZurVkRNrfKQWdC4,8663
|
|
25
25
|
jaxspec/data/observation.py,sha256=1UnFu5ihZp9z-vP_I7tsFY8jhhIJunv46JyuE-acrg0,6394
|
|
26
26
|
jaxspec/data/ogip.py,sha256=sv9p00qHS5pzw61pzWyyF0nV-E-RXySdSFK2tUavokA,9545
|
|
27
|
-
jaxspec/data/util.py,sha256=
|
|
28
|
-
jaxspec/fit.py,sha256=
|
|
29
|
-
jaxspec/model/__init__.py,sha256=
|
|
27
|
+
jaxspec/data/util.py,sha256=TZg_zrH2qk3LiPmn7yw5nMN-XT3z23R9pq8HMYBB_uE,8231
|
|
28
|
+
jaxspec/fit.py,sha256=yfP1INuHYfjpXvZfmkgJ84TbeGWuFg1nvkXduMfxgyk,22057
|
|
29
|
+
jaxspec/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
30
|
jaxspec/model/_additive/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
-
jaxspec/model/_additive/apec.py,sha256=
|
|
32
|
-
jaxspec/model/_additive/apec_loaders.py,sha256=
|
|
31
|
+
jaxspec/model/_additive/apec.py,sha256=r7CQqscAgR0BXC_AJqF6B7CPq3Byoo65Z-h9XgACZeU,12460
|
|
32
|
+
jaxspec/model/_additive/apec_loaders.py,sha256=jkUoH0ezeYdaNw3oV10V0L-jt848SKp2thanLWLWp9k,2412
|
|
33
33
|
jaxspec/model/abc.py,sha256=SWjKOOsqU5UJsVy63Tt9dDq8H2eTIbvK2C9iqgiR0cY,19817
|
|
34
|
-
jaxspec/model/additive.py,sha256=
|
|
35
|
-
jaxspec/model/background.py,sha256=
|
|
34
|
+
jaxspec/model/additive.py,sha256=ayGkL0ftmK-MVndYoHorPZVpNopi1MyyEtymLlBRl-o,16885
|
|
35
|
+
jaxspec/model/background.py,sha256=QSFFiuyUEvuzXBx3QfkvVneUR8KKEP-VaANEVXcavDE,7865
|
|
36
36
|
jaxspec/model/list.py,sha256=0RPAoscVz_zM1CWdx_Gd5wfrQWV5Nv4Kd4bSXu2ayUA,860
|
|
37
|
-
jaxspec/model/multiplicative.py,sha256=
|
|
38
|
-
jaxspec/
|
|
39
|
-
jaxspec/
|
|
40
|
-
jaxspec/tables/xsect_phabs_aspl.fits,sha256=Pq_7oqYuOmEeCk4f9KVzQtfVdvAj17u2MnENx1uaUBk,86400
|
|
41
|
-
jaxspec/tables/xsect_tbabs_wilm.fits,sha256=PPReRcnWccTE_BKDFLfDposw8Jbu3ms-sIv1UiSkSTU,86400
|
|
42
|
-
jaxspec/tables/xsect_wabs_angr.fits,sha256=mzBzpHejC1LiB_LEv3mvxq4Zq7qPIHGQrExpcCT3QHM,86400
|
|
43
|
-
jaxspec/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
-
jaxspec/util/abundance.py,sha256=G-oNT1sxUQj7MwZx7SkQUOq1VZVn-TEBciKWkGhq2is,8554
|
|
37
|
+
jaxspec/model/multiplicative.py,sha256=8S7_agz32fdX-qxYnkL7fGXW2CnuwRGBZ5pYV4-b_5k,7194
|
|
38
|
+
jaxspec/util/__init__.py,sha256=vKurfp7p2hxHptJjXhXqFAXAikAGXAqISMJUqPeiGTw,1259
|
|
39
|
+
jaxspec/util/abundance.py,sha256=fsC313taIlGzQsZNwbYsJupDWm7ZbqzGhY66Ku394Mw,8546
|
|
45
40
|
jaxspec/util/integrate.py,sha256=_Ax_knpC7d4et2-QFkOUzVtNeQLX1-cwLvm-FRBxYcw,4505
|
|
46
|
-
jaxspec
|
|
47
|
-
jaxspec
|
|
48
|
-
jaxspec-0.0.
|
|
49
|
-
jaxspec-0.0.
|
|
41
|
+
jaxspec/util/online_storage.py,sha256=cJGHsgPh3CukRwwlOcxV9eGvrainDOIP5AQP60tWLN4,818
|
|
42
|
+
jaxspec/util/typing.py,sha256=qwZMKHivZlozoo0ESsiaQNkG99Dh3PE2Z-5aOQD9zc0,1650
|
|
43
|
+
jaxspec-0.0.7.dist-info/LICENSE.md,sha256=2q5XoWzddts5IqzIcgYYMOL21puU3MfO8gvT3Ype1eQ,1073
|
|
44
|
+
jaxspec-0.0.7.dist-info/METADATA,sha256=MX7-CIwPDBVjZtjRP3BMQnm0gKEcN5Z91yYW4n5PvXA,3375
|
|
45
|
+
jaxspec-0.0.7.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
|
|
46
|
+
jaxspec-0.0.7.dist-info/RECORD,,
|
jaxspec/tables/abundances.dat
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
Element angr aspl feld aneb grsa wilm lodd lgpp lgps
|
|
2
|
-
H 1.00e+00 1.00e+00 1.00e+00 1.00e+00 1.00e+00 1.00e+00 1.00e+00 1.00E+00 1.00E+00
|
|
3
|
-
He 9.77e-02 8.51e-02 9.77e-02 8.01e-02 8.51e-02 9.77e-02 7.92e-02 8.41E-02 9.69E-02
|
|
4
|
-
Li 1.45e-11 1.12e-11 1.26e-11 2.19e-09 1.26e-11 0.00 1.90e-09 1.26E-11 2.15E-09
|
|
5
|
-
Be 1.41e-11 2.40e-11 2.51e-11 2.87e-11 2.51e-11 0.00 2.57e-11 2.40E-11 2.36E-11
|
|
6
|
-
B 3.98e-10 5.01e-10 3.55e-10 8.82e-10 3.55e-10 0.00 6.03e-10 5.01E-10 7.26E-10
|
|
7
|
-
C 3.63e-04 2.69e-04 3.98e-04 4.45e-04 3.31e-04 2.40e-04 2.45e-04 2.45E-04 2.78E-04
|
|
8
|
-
N 1.12e-04 6.76e-05 1.00e-04 9.12e-05 8.32e-05 7.59e-05 6.76e-05 7.24E-05 8.19E-05
|
|
9
|
-
O 8.51e-04 4.90e-04 8.51e-04 7.39e-04 6.76e-04 4.90e-04 4.90e-04 5.37E-04 6.06E-04
|
|
10
|
-
F 3.63e-08 3.63e-08 3.63e-08 3.10e-08 3.63e-08 0.00 2.88e-08 3.63E-08 3.10E-08
|
|
11
|
-
Ne 1.23e-04 8.51e-05 1.29e-04 1.38e-04 1.20e-04 8.71e-05 7.41e-05 1.12E-04 1.27E-04
|
|
12
|
-
Na 2.14e-06 1.74e-06 2.14e-06 2.10e-06 2.14e-06 1.45e-06 1.99e-06 2.00E-06 2.23E-06
|
|
13
|
-
Mg 3.80e-05 3.98e-05 3.80e-05 3.95e-05 3.80e-05 2.51e-05 3.55e-05 3.47E-05 3.98E-05
|
|
14
|
-
Al 2.95e-06 2.82e-06 2.95e-06 3.12e-06 2.95e-06 2.14e-06 2.88e-06 2.95E-06 3.27E-06
|
|
15
|
-
Si 3.55e-05 3.24e-05 3.55e-05 3.68e-05 3.55e-05 1.86e-05 3.47e-05 3.31E-05 3.86E-05
|
|
16
|
-
P 2.82e-07 2.57e-07 2.82e-07 3.82e-07 2.82e-07 2.63e-07 2.88e-07 2.88E-07 3.20E-07
|
|
17
|
-
S 1.62e-05 1.32e-05 1.62e-05 1.89e-05 2.14e-05 1.23e-05 1.55e-05 1.38E-05 1.63E-05
|
|
18
|
-
Cl 3.16e-07 3.16e-07 3.16e-07 1.93e-07 3.16e-07 1.32e-07 1.82e-07 3.16E-07 2.00E-07
|
|
19
|
-
Ar 3.63e-06 2.51e-06 4.47e-06 3.82e-06 2.51e-06 2.57e-06 3.55e-06 3.16E-06 3.58E-06
|
|
20
|
-
K 1.32e-07 1.07e-07 1.32e-07 1.39e-07 1.32e-07 0.00 1.29e-07 1.32E-07 1.45E-07
|
|
21
|
-
Ca 2.29e-06 2.19e-06 2.29e-06 2.25e-06 2.29e-06 1.58e-06 2.19e-06 2.14E-06 2.33E-06
|
|
22
|
-
Sc 1.26e-09 1.41e-09 1.48e-09 1.24e-09 1.48e-09 0.00 1.17e-09 1.26E-09 1.33E-09
|
|
23
|
-
Ti 9.77e-08 8.91e-08 1.05e-07 8.82e-08 1.05e-07 6.46e-08 8.32e-08 7.94E-08 9.54E-08
|
|
24
|
-
V 1.00e-08 8.51e-09 1.00e-08 1.08e-08 1.00e-08 0.00 1.00e-08 1.00E-08 1.11E-08
|
|
25
|
-
Cr 4.68e-07 4.37e-07 4.68e-07 4.93e-07 4.68e-07 3.24e-07 4.47e-07 4.37E-07 5.06E-07
|
|
26
|
-
Mn 2.45e-07 2.69e-07 2.45e-07 3.50e-07 2.45e-07 2.19e-07 3.16e-07 2.34E-07 3.56E-07
|
|
27
|
-
Fe 4.68e-05 3.16e-05 3.24e-05 3.31e-05 3.16e-05 2.69e-05 2.95e-05 2.82E-05 3.27E-05
|
|
28
|
-
Co 8.32e-08 9.77e-08 8.32e-08 8.27e-08 8.32e-08 8.32e-08 8.13e-08 8.32E-08 9.07E-08
|
|
29
|
-
Ni 1.78e-06 1.66e-06 1.78e-06 1.81e-06 1.78e-06 1.12e-06 1.66e-06 1.70E-06 1.89E-06
|
|
30
|
-
Cu 1.62e-08 1.55e-08 1.62e-08 1.89e-08 1.62e-08 0.00 1.82e-08 1.62E-08 2.09E-08
|
|
31
|
-
Zn 3.98e-08 3.63e-08 3.98e-08 4.63e-08 3.98e-08 0.00 4.27e-08 4.17E-08 5.02E-08
|
jaxspec/tables/new_apec.nc
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|