Visualizing File Changes Across Commits¶
This notebook analyzes differences in files across multiple tardis-regression-data commits. There are two main approaches to get tardis-regression-data commits:
Method 1: Run pytest on tardis commits and generate regression commits (False commits)¶
To fetch tardis commits, you have three options:
Run pytest on latest n tardis commits
Run pytest on str or list of multiple tardis commits
Method 2: Directly use tardis-regression-data repo commits¶
To get those commits, you have two options:
Manually provide a list of multiple tardis-regression-data commits
Get last n tardis-regression-data commits
Note:¶
By default this notebook runs pytest on latest n tardis commits and generates false regression commits to analyze difference.
[1]:
from tardisbase.testing.regression_comparison.run_tests import run_tests
from tardisbase.testing.regression_comparison.visualize_files import MultiCommitCompare
from tardisbase.testing.regression_comparison.util import get_last_n_commits
import pandas as pd
INFO:numexpr.utils:Note: detected 192 virtual cores but NumExpr set to maximum of 64, check "NUMEXPR_MAX_THREADS" environment variable.
INFO:numexpr.utils:Note: NumExpr detected 192 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 16.
INFO:numexpr.utils:NumExpr defaulting to 16 threads.
Display Configuration
[2]:
# Configure pandas display options for better visualization
pd.set_option('display.max_colwidth', None)
pd.set_option('display.width', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)
Setup Configuration
[3]:
# Configuration for the analysis
config = {
"tardis_repo_path": "/path/to/tardis/repo",
"regression_data_repo_path": "/path/to/tardis/regression/data/repo",
"branch": "master",
"n": 3, # Last n commits
# "commits": ["300e565e83112528faaa76e970057ffb1b13f743", "2a06fdfb60190bbd9b49ff572d78772607138660", "2d775dcd1c486227532f537fc41066e942000e56"], # Uncomment for specific commits
"conda_manager": "conda"
}
Method 1: Run pytest on tardis commits to generate false regression data commits¶
Case 1: Test latest N TARDIS commits¶
Important Note:
Comment out
commits
from configProvide the value of
n
in configTo forcely recreate new enviornment each time even when enviornment already exist, do
force_recreate
asTrue
Either provide entire “tardis” module or selective path like “tardis/spectrum/tests/test_spectrum_solver.py” in
test_path
Provide path to default current enviornment in
default_curr_env
If you want to use default current enviornment only without creating new enviornment each time, do
use_new_envs
asFalse
.
[4]:
processed_commits, regression_commits, original_head = run_tests(
**config,
force_recreate=True,
test_path="tardis",
default_curr_env="/provide/path/to/default/current/env",
use_new_envs=True
)
INFO:tardisbase.testing.regression_comparison.run_tests:Original HEAD of regression data repo: 08b5aa8c3233eef19eb08440b85eab2659e6759e
INFO:tardisbase.testing.regression_comparison.run_tests:Processing commit 1/3: 701bb18916886ecf2797b0dda4843750f69592da
INFO:tardisbase.testing.regression_comparison.run_tests:Creating conda environment: tardis-test-701bb189
INFO:tardisbase.testing.regression_comparison.run_tests:Checking if environment tardis-test-701bb189 exists...
INFO:tardisbase.testing.regression_comparison.run_tests:Environment tardis-test-701bb189 exists, removing it for recreation...
INFO:tardisbase.testing.regression_comparison.run_tests:Creating conda environment: conda create --name tardis-test-701bb189 --file /tmp/tmpps36t3m4.lock -y
INFO:tardisbase.testing.regression_comparison.run_tests:Installing TARDIS with all extras ['viz', 'tardisbase']: conda run -n tardis-test-701bb189 pip install -e /home/riddhigangbhoj/tardis-work/tardis[viz,tardisbase]
INFO:tardisbase.testing.regression_comparison.run_tests:
=== Phase 1: Running 'not continuum' tests for commit 701bb18916886ecf2797b0dda4843750f69592da ===
INFO:tardisbase.testing.regression_comparison.run_tests:Running not continuum tests: conda run -n tardis-test-701bb189 python -m pytest tardis --tardis-regression-data=/home/riddhigangbhoj/tardis-work/tardis-regression-data --generate-reference --disable-warnings -m not continuum
WARNING:tardisbase.testing.regression_comparison.run_tests:'not continuum' tests had failures for commit 701bb18916886ecf2797b0dda4843750f69592da
INFO:tardisbase.testing.regression_comparison.run_tests:Stdout: ============================= test session starts ==============================
platform linux -- Python 3.13.3, pytest-8.4.0, pluggy-1.6.0
rootdir: /home/riddhigangbhoj/tardis-work/tardis
configfile: pyproject.toml
plugins: doctestplus-1.4.0, anyio-4.9.0, cov-6.1.1, metadata-3.1.1, html-4.1.1
collected 1850 items / 2 deselected / 1848 selected
tardis/energy_input/tests/test_energy_source.py ..xxx [ 0%]
tardis/energy_input/tests/test_gamma_ray_channel.py ............. [ 0%]
tardis/energy_input/tests/test_gamma_ray_grid.py xx. [ 1%]
tardis/energy_input/tests/test_gamma_ray_interactions.py xx.... [ 1%]
tardis/energy_input/tests/test_gamma_ray_packet_source.py sssssssss [ 1%]
tardis/energy_input/tests/test_util.py .....xxxx..... [ 2%]
tardis/grid/tests/test_grid.py . [ 2%]
tardis/gui/tests/test_gui.py s [ 2%]
tardis/io/configuration/tests/test_config_reader.py ........... [ 3%]
tardis/io/configuration/tests/test_config_validator.py ..... [ 3%]
tardis/io/configuration/tests/test_configuration_namespace.py ......... [ 4%]
tardis/io/logger/tests/test_logging.py ssssssssssssssssssssssssssss [ 5%]
tardis/io/model/readers/snec/tests/test_input_profiles.py . [ 5%]
tardis/io/model/readers/snec/tests/test_read_snec_output.py . [ 5%]
tardis/io/model/readers/snec/tests/test_xg_files.py ... [ 5%]
tardis/io/model/readers/tests/test_arepo_parser.py ss [ 6%]
tardis/io/model/readers/tests/test_artis_readers.py .... [ 6%]
tardis/io/model/readers/tests/test_ascii_readers.py ... [ 6%]
tardis/io/model/readers/tests/test_cmfgen_reader.py .. [ 6%]
tardis/io/model/readers/tests/test_csvy_reader.py .... [ 6%]
tardis/io/model/readers/tests/test_stella_reader.py .. [ 6%]
tardis/io/tests/test_HDFWriter.py ................ [ 7%]
tardis/io/tests/test_atomic.py ..... [ 8%]
tardis/io/tests/test_decay.py .. [ 8%]
tardis/io/tests/test_model_reader.py ....... [ 8%]
tardis/model/geometry/tests/test_radial1d.py .. [ 8%]
tardis/model/tests/test_base.py ........................................ [ 10%]
............ [ 11%]
tardis/model/tests/test_csvy_model.py ......... [ 11%]
tardis/model/tests/test_density.py .. [ 12%]
tardis/opacities/tests/test_opacity_solver.py .....WWWW [ 12%]
tardis/opacities/tests/test_opacity_state_numba.py ..... [ 12%]
tardis/opacities/tests/test_tau_sobolev.py WW [ 12%]
tardis/plasma/equilibrium/tests/test_collisional_transitions.py .. [ 12%]
tardis/plasma/equilibrium/tests/test_level_populations.py ...W [ 13%]
tardis/plasma/equilibrium/tests/test_rate_matrix.py W [ 13%]
tardis/plasma/tests/test_complete_plasmas.py WWWWWWWWWWWWWWWWWWWWWWWWWWW [ 14%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 18%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 22%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 26%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 30%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 34%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 38%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 41%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 45%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 49%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 53%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 57%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 59%]
tardis/plasma/tests/test_hdf_plasma.py WWWWWWWWW..WWWWWWWWWWW.WWWWWWWWWW [ 61%]
WWWWWW [ 61%]
tardis/plasma/tests/test_nlte_excitation.py WWW [ 62%]
tardis/plasma/tests/test_nlte_solver.py WW...X [ 62%]
tardis/plasma/tests/test_plasma_continuum.py W [ 62%]
tardis/plasma/tests/test_plasma_vboundary.py ............. [ 63%]
tardis/plasma/tests/test_tardis_model_density_config.py WWW [ 63%]
tardis/simulation/tests/test_convergence.py ..... [ 63%]
tardis/simulation/tests/test_simulation.py WWWWWWWWWW... [ 64%]
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py FFF.. [ 64%]
.........................................F [ 66%]
tardis/spectrum/formal_integral/tests/test_formal_integral.py ..x....... [ 67%]
[ 67%]
tardis/spectrum/formal_integral/tests/test_numba_formal_integral.py .... [ 67%]
.................... [ 68%]
tardis/spectrum/tests/test_luminosity.py .... [ 68%]
tardis/spectrum/tests/test_spectrum.py ................................. [ 70%]
......... [ 71%]
tardis/spectrum/tests/test_spectrum_solver.py WWWW [ 71%]
tardis/tests/test_tardis_full.py ..WWW [ 71%]
tardis/tests/test_tardis_full_formal_integral.py WWWWWWWWWWWWWWWW [ 72%]
tardis/tests/test_util.py ............................................. [ 74%]
tardis/transport/montecarlo/tests/test_base.py x..................... [ 76%]
tardis/transport/montecarlo/tests/test_interaction.py ....... [ 76%]
tardis/transport/montecarlo/tests/test_macro_atom.py .... [ 76%]
tardis/transport/montecarlo/tests/test_montecarlo.py sssssssssssssssssss [ 77%]
sssssssssssssssssssssssssssssssssssss [ 79%]
tardis/transport/montecarlo/tests/test_montecarlo_main_loop.py xWW [ 79%]
tardis/transport/montecarlo/tests/test_nonhomologous.py ... [ 80%]
tardis/transport/montecarlo/tests/test_numba_interface.py .....x. [ 80%]
tardis/transport/montecarlo/tests/test_opacities.py ............... [ 81%]
tardis/transport/montecarlo/tests/test_packet.py .................xXXXXX [ 82%]
XX......... [ 83%]
tardis/transport/montecarlo/tests/test_packet_source.py WWWWWWWW [ 83%]
tardis/transport/montecarlo/tests/test_rpacket_last_interaction_tracker.py . [ 83%]
..... [ 83%]
tardis/transport/montecarlo/tests/test_rpacket_tracker.py ....W. [ 84%]
tardis/transport/montecarlo/tests/test_single_packet_loop.py xxx [ 84%]
tardis/transport/montecarlo/tests/test_tracker_utils.py .. [ 84%]
tardis/transport/montecarlo/tests/test_vpacket.py ..x. [ 84%]
tardis/transport/montecarlo/tests/test_weighted_packet_source.py WWWW [ 84%]
tardis/transport/montecarlo/tests/test_weighted_packet_source_integration.py . [ 84%]
[ 84%]
tardis/transport/tests/test_doppler_factor.py .................. [ 85%]
tardis/visualization/tests/test_plot_util.py ................WW [ 86%]
tardis/visualization/tools/tests/test_convergence_plot.py .............. [ 87%]
...... [ 87%]
tardis/visualization/tools/tests/test_lineid_plotter.py sssxx [ 88%]
tardis/visualization/tools/tests/test_liv_plot.py WWWWWWWWWWWWWWWWWWWWWW [ 89%]
WWWWWWWWWWWWWssssssssWWWWWWWW [ 91%]
tardis/visualization/tools/tests/test_rpacket_plot.py .................. [ 91%]
............... [ 92%]
tardis/visualization/tools/tests/test_sdec_plot.py WWWWWWWWWWWWWWWWWWWWW [ 93%]
WWWWWWWWWWWWWWssssssssssssssss. [ 95%]
tardis/visualization/widgets/tests/test_custom_abundance.py ........ss.. [ 96%]
.... [ 96%]
tardis/visualization/widgets/tests/test_line_info.py ................... [ 97%]
...................... [ 98%]
tardis/visualization/widgets/tests/test_shell_info.py .................. [ 99%]
...... [100%]
=================================== FAILURES ===================================
__________ test_intensity_black_body_cuda[100000000000000.0-10000.0] ___________
nu = 100000000000000.0, temperature = 10000.0
@pytest.mark.skipif(
not GPUs_available, reason="No GPU is available to test CUDA function"
)
@pytest.mark.parametrize(
["nu", "temperature"],
[
(1e14, 1e4),
(0, 1),
(1, 1),
],
)
def test_intensity_black_body_cuda(nu, temperature):
"""
Initializes the test of the cuda version
against the numba implementation of the
intensity_black_body to 15 decimals. This
is done as both results have 15 digits of precision.
"""
actual = np.zeros(3)
> black_body_caller[1, 3](nu, temperature, actual)
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py:48:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:539: in __call__
return self.dispatcher.call(args, self.griddim, self.blockdim,
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:681: in call
kernel = _dispatcher.Dispatcher._cuda_call(self, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:689: in _compile_for_args
return self.compile(tuple(argtypes))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:932: in compile
kernel = _Kernel(self.py_func, argtypes, **self.targetoptions)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:83: in __init__
cres = compile_cuda(self.py_func, types.void, self.argtypes,
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/compiler.py:196: in compile_cuda
cres = compiler.compile_extra(typingctx=typingctx,
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:739: in compile_extra
return pipeline.compile_extra(func)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:439: in compile_extra
return self._compile_bytecode()
^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:505: in _compile_bytecode
return self._compile_core()
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:484: in _compile_core
raise e
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:473: in _compile_core
pm.run(self.state)
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_machinery.py:367: in run
raise patched_exception
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_machinery.py:356: in run
self._runPass(idx, pass_inst, state)
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_machinery.py:311: in _runPass
mutated |= check(pss.run_pass, internal_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_machinery.py:272: in check
mangled = func(compiler_state)
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/typed_passes.py:112: in run_pass
typemap, return_type, calltypes, errs = type_inference_stage(
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/typed_passes.py:93: in type_inference_stage
errs = infer.propagate(raise_errors=raise_errors)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <numba.core.typeinfer.TypeInferer object at 0x75f6a8664ef0>
raise_errors = True
def propagate(self, raise_errors=True):
newtoken = self.get_state_token()
oldtoken = None
# Since the number of types are finite, the typesets will eventually
# stop growing.
while newtoken != oldtoken:
self.debug.propagate_started()
oldtoken = newtoken
# Errors can appear when the type set is incomplete; only
# raise them when there is no progress anymore.
errors = self.constraints.propagate(self)
newtoken = self.get_state_token()
self.debug.propagate_finished()
if errors:
if raise_errors:
force_lit_args = [e for e in errors
if isinstance(e, ForceLiteralArg)]
if not force_lit_args:
> raise errors[0]
E numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython frontend)
E Failed in cuda mode pipeline (step: nopython frontend)
E Use of unsupported NumPy function 'numpy.exp' or unsupported use of the function.
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: typing of get attribute at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/base.py (104)
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: Pass nopython_type_inference
E During: resolving callee type: type(CUDADispatcher(<function intensity_black_body at 0x75f6e1b9e160>))
E During: typing of call at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py (22)
E
E
E File "tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py", line 22:
E def black_body_caller(nu, temperature, actual):
E <source elided>
E x = cuda.grid(1)
E actual[x] = formal_integral_cuda.intensity_black_body_cuda(nu, temperature)
E ^
E
E During: Pass nopython_type_inference
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/typeinfer.py:1074: TypingError
_____________________ test_intensity_black_body_cuda[0-1] ______________________
nu = 0, temperature = 1
@pytest.mark.skipif(
not GPUs_available, reason="No GPU is available to test CUDA function"
)
@pytest.mark.parametrize(
["nu", "temperature"],
[
(1e14, 1e4),
(0, 1),
(1, 1),
],
)
def test_intensity_black_body_cuda(nu, temperature):
"""
Initializes the test of the cuda version
against the numba implementation of the
intensity_black_body to 15 decimals. This
is done as both results have 15 digits of precision.
"""
actual = np.zeros(3)
> black_body_caller[1, 3](nu, temperature, actual)
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py:48:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:539: in __call__
return self.dispatcher.call(args, self.griddim, self.blockdim,
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:681: in call
kernel = _dispatcher.Dispatcher._cuda_call(self, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:689: in _compile_for_args
return self.compile(tuple(argtypes))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:932: in compile
kernel = _Kernel(self.py_func, argtypes, **self.targetoptions)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:83: in __init__
cres = compile_cuda(self.py_func, types.void, self.argtypes,
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/compiler.py:196: in compile_cuda
cres = compiler.compile_extra(typingctx=typingctx,
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:739: in compile_extra
return pipeline.compile_extra(func)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:439: in compile_extra
return self._compile_bytecode()
^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:505: in _compile_bytecode
return self._compile_core()
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:484: in _compile_core
raise e
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:473: in _compile_core
pm.run(self.state)
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_machinery.py:367: in run
raise patched_exception
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_machinery.py:356: in run
self._runPass(idx, pass_inst, state)
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_machinery.py:311: in _runPass
mutated |= check(pss.run_pass, internal_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_machinery.py:272: in check
mangled = func(compiler_state)
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/typed_passes.py:112: in run_pass
typemap, return_type, calltypes, errs = type_inference_stage(
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/typed_passes.py:93: in type_inference_stage
errs = infer.propagate(raise_errors=raise_errors)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <numba.core.typeinfer.TypeInferer object at 0x75f6a4ab0940>
raise_errors = True
def propagate(self, raise_errors=True):
newtoken = self.get_state_token()
oldtoken = None
# Since the number of types are finite, the typesets will eventually
# stop growing.
while newtoken != oldtoken:
self.debug.propagate_started()
oldtoken = newtoken
# Errors can appear when the type set is incomplete; only
# raise them when there is no progress anymore.
errors = self.constraints.propagate(self)
newtoken = self.get_state_token()
self.debug.propagate_finished()
if errors:
if raise_errors:
force_lit_args = [e for e in errors
if isinstance(e, ForceLiteralArg)]
if not force_lit_args:
> raise errors[0]
E numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython frontend)
E Failed in cuda mode pipeline (step: nopython frontend)
E Use of unsupported NumPy function 'numpy.exp' or unsupported use of the function.
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: typing of get attribute at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/base.py (104)
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: Pass nopython_type_inference
E During: resolving callee type: type(CUDADispatcher(<function intensity_black_body at 0x75f6e1b9e160>))
E During: typing of call at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py (22)
E
E
E File "tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py", line 22:
E def black_body_caller(nu, temperature, actual):
E <source elided>
E x = cuda.grid(1)
E actual[x] = formal_integral_cuda.intensity_black_body_cuda(nu, temperature)
E ^
E
E During: Pass nopython_type_inference
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/typeinfer.py:1074: TypingError
_____________________ test_intensity_black_body_cuda[1-1] ______________________
nu = 1, temperature = 1
@pytest.mark.skipif(
not GPUs_available, reason="No GPU is available to test CUDA function"
)
@pytest.mark.parametrize(
["nu", "temperature"],
[
(1e14, 1e4),
(0, 1),
(1, 1),
],
)
def test_intensity_black_body_cuda(nu, temperature):
"""
Initializes the test of the cuda version
against the numba implementation of the
intensity_black_body to 15 decimals. This
is done as both results have 15 digits of precision.
"""
actual = np.zeros(3)
> black_body_caller[1, 3](nu, temperature, actual)
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py:48:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:539: in __call__
return self.dispatcher.call(args, self.griddim, self.blockdim,
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:681: in call
kernel = _dispatcher.Dispatcher._cuda_call(self, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:689: in _compile_for_args
return self.compile(tuple(argtypes))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:932: in compile
kernel = _Kernel(self.py_func, argtypes, **self.targetoptions)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/dispatcher.py:83: in __init__
cres = compile_cuda(self.py_func, types.void, self.argtypes,
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/cuda/compiler.py:196: in compile_cuda
cres = compiler.compile_extra(typingctx=typingctx,
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:739: in compile_extra
return pipeline.compile_extra(func)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:439: in compile_extra
return self._compile_bytecode()
^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:505: in _compile_bytecode
return self._compile_core()
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:484: in _compile_core
raise e
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler.py:473: in _compile_core
pm.run(self.state)
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_machinery.py:367: in run
raise patched_exception
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_machinery.py:356: in run
self._runPass(idx, pass_inst, state)
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_machinery.py:311: in _runPass
mutated |= check(pss.run_pass, internal_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/compiler_machinery.py:272: in check
mangled = func(compiler_state)
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/typed_passes.py:112: in run_pass
typemap, return_type, calltypes, errs = type_inference_stage(
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/typed_passes.py:93: in type_inference_stage
errs = infer.propagate(raise_errors=raise_errors)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <numba.core.typeinfer.TypeInferer object at 0x75f6a8664bb0>
raise_errors = True
def propagate(self, raise_errors=True):
newtoken = self.get_state_token()
oldtoken = None
# Since the number of types are finite, the typesets will eventually
# stop growing.
while newtoken != oldtoken:
self.debug.propagate_started()
oldtoken = newtoken
# Errors can appear when the type set is incomplete; only
# raise them when there is no progress anymore.
errors = self.constraints.propagate(self)
newtoken = self.get_state_token()
self.debug.propagate_finished()
if errors:
if raise_errors:
force_lit_args = [e for e in errors
if isinstance(e, ForceLiteralArg)]
if not force_lit_args:
> raise errors[0]
E numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython frontend)
E Failed in cuda mode pipeline (step: nopython frontend)
E Use of unsupported NumPy function 'numpy.exp' or unsupported use of the function.
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: typing of get attribute at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/base.py (104)
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: Pass nopython_type_inference
E During: resolving callee type: type(CUDADispatcher(<function intensity_black_body at 0x75f6e1b9e160>))
E During: typing of call at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py (22)
E
E
E File "tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py", line 22:
E def black_body_caller(nu, temperature, actual):
E <source elided>
E x = cuda.grid(1)
E actual[x] = formal_integral_cuda.intensity_black_body_cuda(nu, temperature)
E ^
E
E During: Pass nopython_type_inference
../../.conda/envs/tardis-test-701bb189/lib/python3.13/site-packages/numba/core/typeinfer.py:1074: TypingError
_____________________ test_full_formal_integral[200000-5] ______________________
no_of_packets = 200000, iterations = 5
config_verysimple = {'tardis_config_version': 'v1.0', 'supernova': {'luminosity_requested': <Quantity 1.07688e+36 W>, 'time_explosion': <Q...: {'points': 1000, 'interpolate_shells': 0, 'compute': 'CPU'}}, 'config_dirname': 'tardis/io/configuration/tests/data'}
simulation_verysimple = <tardis.simulation.base.Simulation object at 0x75f6b5a2af90>
@pytest.mark.skipif(
not GPUs_available, reason="No GPU is available to test CUDA function"
)
@pytest.mark.parametrize(["no_of_packets", "iterations"], [(200000, 5)])
def test_full_formal_integral(
no_of_packets, iterations, config_verysimple, simulation_verysimple
):
"""
This function initializes both the cuda and numba formal_integrator,
and the runs them and compares results to the 15th decimal place.
This is done as both results have 15 digits of precision.
"""
sim = simulation_verysimple
formal_integrator_numba = FormalIntegrator(
sim.simulation_state, sim.plasma, sim.transport
)
formal_integrator_cuda = FormalIntegrator(
sim.simulation_state, sim.plasma, sim.transport
)
# The function calculate_spectrum sets this property, but in order to test the CUDA.
# version it is done manually, as well as to speed up the test.
formal_integrator_numba.interpolate_shells = max(
2 * formal_integrator_numba.simulation_state.no_of_shells, 80
)
formal_integrator_cuda.interpolate_shells = max(
2 * formal_integrator_cuda.simulation_state.no_of_shells, 80
)
> res_numba = make_source_function(
formal_integrator_numba.simulation_state,
formal_integrator_numba.plasma,
formal_integrator_numba.transport,
formal_integrator_numba.interpolate_shells
)
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py:329:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
simulation_state = <tardis.model.base.SimulationState object at 0x75f6b9f75370>
opacity_state = <tardis.plasma.base.BasePlasma object at 0x75f6b5a28d70>
transport = <tardis.transport.montecarlo.base.MonteCarloTransportSolver object at 0x75f6b5a2a510>
plasma = 80, interpolate_shells = 0
def make_source_function(simulation_state, opacity_state, transport, plasma, interpolate_shells=0):
"""
Calculates the source function using the line absorption rate estimator `Edotlu_estimator`
Formally it calculates the expression ( 1 - exp(-tau_ul) ) S_ul but this product is what we need later,
so there is no need to factor out the source function explicitly.
Parameters
----------
simulation_state : tardis.model.SimulationState
opacity_state : tardis.opacity.OpacityStateNumba
transport : tardis.transport.montecarlo.MonteCarloTransportSolver
plasma : tardis.plasma.BasePlasma
interpolate_shells : int
Number of shells to interpolate to. If set to 0, no interpolation is performed.
Returns
-------
Numpy array containing ( 1 - exp(-tau_ul) ) S_ul ordered by wavelength of the transition u -> l
"""
montecarlo_transport_state = transport.transport_state
> atomic_data = plasma.atomic_data
^^^^^^^^^^^^^^^^^^
E AttributeError: 'int' object has no attribute 'atomic_data'
tardis/spectrum/formal_integral/base.py:128: AttributeError
=========================== short test summary info ============================
FAILED tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py::test_intensity_black_body_cuda[100000000000000.0-10000.0] - numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython...
FAILED tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py::test_intensity_black_body_cuda[0-1] - numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython...
FAILED tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py::test_intensity_black_body_cuda[1-1] - numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython...
FAILED tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py::test_full_formal_integral[200000-5] - AttributeError: 'int' object has no attribute 'atomic_data'
= 4 failed, 648 passed, 125 skipped, 2 deselected, 22 xfailed, 8 xpassed, 344 warnings, 1041 regression data written in 794.77s (0:13:14) =
ERROR:tardisbase.testing.regression_comparison.run_tests:Stderr:
Packets: ████████████████████████████████████████████████████████████████████
Iterations:
ERROR conda.cli.main_run:execute(127): `conda run python -m pytest tardis --tardis-regression-data=/home/riddhigangbhoj/tardis-work/tardis-regression-data --generate-reference --disable-warnings -m not continuum` failed. (See above for error)
INFO:tardisbase.testing.regression_comparison.run_tests:
=== Phase 2: Running 'continuum' tests for commit 701bb18916886ecf2797b0dda4843750f69592da ===
INFO:tardisbase.testing.regression_comparison.run_tests:Running continuum tests: conda run -n tardis-test-701bb189 python -m pytest tardis --tardis-regression-data=/home/riddhigangbhoj/tardis-work/tardis-regression-data --generate-reference --disable-warnings -m continuum
WARNING:tardisbase.testing.regression_comparison.run_tests:Tests completed with some failures for commit 701bb18916886ecf2797b0dda4843750f69592da, but regression data was generated
INFO:tardisbase.testing.regression_comparison.run_tests:Processing commit 2/3: ce43cec0fa5d9255108c90c84659c71d34fb1c26
INFO:tardisbase.testing.regression_comparison.run_tests:Creating conda environment: tardis-test-ce43cec0
INFO:tardisbase.testing.regression_comparison.run_tests:Checking if environment tardis-test-ce43cec0 exists...
INFO:tardisbase.testing.regression_comparison.run_tests:Environment tardis-test-ce43cec0 exists, removing it for recreation...
INFO:tardisbase.testing.regression_comparison.run_tests:Creating conda environment: conda create --name tardis-test-ce43cec0 --file /tmp/tmphpi2ltb8.lock -y
INFO:tardisbase.testing.regression_comparison.run_tests:Installing TARDIS with all extras ['viz', 'tardisbase']: conda run -n tardis-test-ce43cec0 pip install -e /home/riddhigangbhoj/tardis-work/tardis[viz,tardisbase]
INFO:tardisbase.testing.regression_comparison.run_tests:
=== Phase 1: Running 'not continuum' tests for commit ce43cec0fa5d9255108c90c84659c71d34fb1c26 ===
INFO:tardisbase.testing.regression_comparison.run_tests:Running not continuum tests: conda run -n tardis-test-ce43cec0 python -m pytest tardis --tardis-regression-data=/home/riddhigangbhoj/tardis-work/tardis-regression-data --generate-reference --disable-warnings -m not continuum
WARNING:tardisbase.testing.regression_comparison.run_tests:'not continuum' tests had failures for commit ce43cec0fa5d9255108c90c84659c71d34fb1c26
INFO:tardisbase.testing.regression_comparison.run_tests:Stdout: ============================= test session starts ==============================
platform linux -- Python 3.13.3, pytest-8.4.0, pluggy-1.6.0
rootdir: /home/riddhigangbhoj/tardis-work/tardis
configfile: pyproject.toml
plugins: cov-6.1.1, html-4.1.1, metadata-3.1.1, anyio-4.9.0, doctestplus-1.4.0
collected 1850 items / 2 deselected / 1848 selected
tardis/energy_input/tests/test_energy_source.py ..xxx [ 0%]
tardis/energy_input/tests/test_gamma_ray_channel.py ............. [ 0%]
tardis/energy_input/tests/test_gamma_ray_grid.py xx. [ 1%]
tardis/energy_input/tests/test_gamma_ray_interactions.py xx.... [ 1%]
tardis/energy_input/tests/test_gamma_ray_packet_source.py sssssssss [ 1%]
tardis/energy_input/tests/test_util.py .....xxxx..... [ 2%]
tardis/grid/tests/test_grid.py . [ 2%]
tardis/gui/tests/test_gui.py s [ 2%]
tardis/io/configuration/tests/test_config_reader.py ........... [ 3%]
tardis/io/configuration/tests/test_config_validator.py ..... [ 3%]
tardis/io/configuration/tests/test_configuration_namespace.py ......... [ 4%]
tardis/io/logger/tests/test_logging.py ssssssssssssssssssssssssssss [ 5%]
tardis/io/model/readers/snec/tests/test_input_profiles.py . [ 5%]
tardis/io/model/readers/snec/tests/test_read_snec_output.py . [ 5%]
tardis/io/model/readers/snec/tests/test_xg_files.py ... [ 5%]
tardis/io/model/readers/tests/test_arepo_parser.py ss [ 6%]
tardis/io/model/readers/tests/test_artis_readers.py .... [ 6%]
tardis/io/model/readers/tests/test_ascii_readers.py ... [ 6%]
tardis/io/model/readers/tests/test_cmfgen_reader.py .. [ 6%]
tardis/io/model/readers/tests/test_csvy_reader.py .... [ 6%]
tardis/io/model/readers/tests/test_stella_reader.py .. [ 6%]
tardis/io/tests/test_HDFWriter.py ................ [ 7%]
tardis/io/tests/test_atomic.py ..... [ 8%]
tardis/io/tests/test_decay.py .. [ 8%]
tardis/io/tests/test_model_reader.py ....... [ 8%]
tardis/model/geometry/tests/test_radial1d.py .. [ 8%]
tardis/model/tests/test_base.py ........................................ [ 10%]
............ [ 11%]
tardis/model/tests/test_csvy_model.py ......... [ 11%]
tardis/model/tests/test_density.py .. [ 12%]
tardis/opacities/tests/test_opacity_solver.py .....WWWW [ 12%]
tardis/opacities/tests/test_opacity_state_numba.py ..... [ 12%]
tardis/opacities/tests/test_tau_sobolev.py WW [ 12%]
tardis/plasma/equilibrium/tests/test_collisional_transitions.py .. [ 12%]
tardis/plasma/equilibrium/tests/test_level_populations.py ...W [ 13%]
tardis/plasma/equilibrium/tests/test_rate_matrix.py W [ 13%]
tardis/plasma/tests/test_complete_plasmas.py WWWWWWWWWWWWWWWWWWWWWWWWWWW [ 14%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 18%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 22%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 26%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 30%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 34%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 38%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 41%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 45%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 49%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 53%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 57%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 59%]
tardis/plasma/tests/test_hdf_plasma.py WWWWWWWWW..WWWWWWWWWWW.WWWWWWWWWW [ 61%]
WWWWWW [ 61%]
tardis/plasma/tests/test_nlte_excitation.py WWW [ 62%]
tardis/plasma/tests/test_nlte_solver.py WW...X [ 62%]
tardis/plasma/tests/test_plasma_continuum.py W [ 62%]
tardis/plasma/tests/test_plasma_vboundary.py ............. [ 63%]
tardis/plasma/tests/test_tardis_model_density_config.py WWW [ 63%]
tardis/simulation/tests/test_convergence.py ..... [ 63%]
tardis/simulation/tests/test_simulation.py WWWWWWWWWW... [ 64%]
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py FFF.. [ 64%]
.........................................F [ 66%]
tardis/spectrum/formal_integral/tests/test_formal_integral.py ..x....... [ 67%]
[ 67%]
tardis/spectrum/formal_integral/tests/test_numba_formal_integral.py .... [ 67%]
.................... [ 68%]
tardis/spectrum/tests/test_luminosity.py .... [ 68%]
tardis/spectrum/tests/test_spectrum.py ................................. [ 70%]
......... [ 71%]
tardis/spectrum/tests/test_spectrum_solver.py WWWW [ 71%]
tardis/tests/test_tardis_full.py ..WWW [ 71%]
tardis/tests/test_tardis_full_formal_integral.py WWWWWWWWWWWWWWWW [ 72%]
tardis/tests/test_util.py ............................................. [ 74%]
tardis/transport/montecarlo/tests/test_base.py x..................... [ 76%]
tardis/transport/montecarlo/tests/test_interaction.py ....... [ 76%]
tardis/transport/montecarlo/tests/test_macro_atom.py .... [ 76%]
tardis/transport/montecarlo/tests/test_montecarlo.py sssssssssssssssssss [ 77%]
sssssssssssssssssssssssssssssssssssss [ 79%]
tardis/transport/montecarlo/tests/test_montecarlo_main_loop.py xWW [ 79%]
tardis/transport/montecarlo/tests/test_nonhomologous.py ... [ 80%]
tardis/transport/montecarlo/tests/test_numba_interface.py .....x. [ 80%]
tardis/transport/montecarlo/tests/test_opacities.py ............... [ 81%]
tardis/transport/montecarlo/tests/test_packet.py .................xXXXXX [ 82%]
XX......... [ 83%]
tardis/transport/montecarlo/tests/test_packet_source.py WWWWWWWW [ 83%]
tardis/transport/montecarlo/tests/test_rpacket_last_interaction_tracker.py . [ 83%]
..... [ 83%]
tardis/transport/montecarlo/tests/test_rpacket_tracker.py ....W. [ 84%]
tardis/transport/montecarlo/tests/test_single_packet_loop.py xxx [ 84%]
tardis/transport/montecarlo/tests/test_tracker_utils.py .. [ 84%]
tardis/transport/montecarlo/tests/test_vpacket.py ..x. [ 84%]
tardis/transport/montecarlo/tests/test_weighted_packet_source.py WWWW [ 84%]
tardis/transport/montecarlo/tests/test_weighted_packet_source_integration.py . [ 84%]
[ 84%]
tardis/transport/tests/test_doppler_factor.py .................. [ 85%]
tardis/visualization/tests/test_plot_util.py ................WW [ 86%]
tardis/visualization/tools/tests/test_convergence_plot.py .............. [ 87%]
...... [ 87%]
tardis/visualization/tools/tests/test_lineid_plotter.py sssxx [ 88%]
tardis/visualization/tools/tests/test_liv_plot.py WWWWWWWWWWWWWWWWWWWWWW [ 89%]
WWWWWWWWWWWWWssssssssWWWWWWWW [ 91%]
tardis/visualization/tools/tests/test_rpacket_plot.py .................. [ 91%]
............... [ 92%]
tardis/visualization/tools/tests/test_sdec_plot.py WWWWWWWWWWWWWWWWWWWWW [ 93%]
WWWWWWWWWWWWWWssssssssssssssss. [ 95%]
tardis/visualization/widgets/tests/test_custom_abundance.py ........ss.. [ 96%]
.... [ 96%]
tardis/visualization/widgets/tests/test_line_info.py ................... [ 97%]
...................... [ 98%]
tardis/visualization/widgets/tests/test_shell_info.py .................. [ 99%]
...... [100%]
=================================== FAILURES ===================================
__________ test_intensity_black_body_cuda[100000000000000.0-10000.0] ___________
nu = 100000000000000.0, temperature = 10000.0
@pytest.mark.skipif(
not GPUs_available, reason="No GPU is available to test CUDA function"
)
@pytest.mark.parametrize(
["nu", "temperature"],
[
(1e14, 1e4),
(0, 1),
(1, 1),
],
)
def test_intensity_black_body_cuda(nu, temperature):
"""
Initializes the test of the cuda version
against the numba implementation of the
intensity_black_body to 15 decimals. This
is done as both results have 15 digits of precision.
"""
actual = np.zeros(3)
> black_body_caller[1, 3](nu, temperature, actual)
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py:48:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:539: in __call__
return self.dispatcher.call(args, self.griddim, self.blockdim,
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:681: in call
kernel = _dispatcher.Dispatcher._cuda_call(self, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:689: in _compile_for_args
return self.compile(tuple(argtypes))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:932: in compile
kernel = _Kernel(self.py_func, argtypes, **self.targetoptions)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:83: in __init__
cres = compile_cuda(self.py_func, types.void, self.argtypes,
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/compiler.py:196: in compile_cuda
cres = compiler.compile_extra(typingctx=typingctx,
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:739: in compile_extra
return pipeline.compile_extra(func)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:439: in compile_extra
return self._compile_bytecode()
^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:505: in _compile_bytecode
return self._compile_core()
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:484: in _compile_core
raise e
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:473: in _compile_core
pm.run(self.state)
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_machinery.py:367: in run
raise patched_exception
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_machinery.py:356: in run
self._runPass(idx, pass_inst, state)
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_machinery.py:311: in _runPass
mutated |= check(pss.run_pass, internal_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_machinery.py:272: in check
mangled = func(compiler_state)
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/typed_passes.py:112: in run_pass
typemap, return_type, calltypes, errs = type_inference_stage(
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/typed_passes.py:93: in type_inference_stage
errs = infer.propagate(raise_errors=raise_errors)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <numba.core.typeinfer.TypeInferer object at 0x735c0414e0d0>
raise_errors = True
def propagate(self, raise_errors=True):
newtoken = self.get_state_token()
oldtoken = None
# Since the number of types are finite, the typesets will eventually
# stop growing.
while newtoken != oldtoken:
self.debug.propagate_started()
oldtoken = newtoken
# Errors can appear when the type set is incomplete; only
# raise them when there is no progress anymore.
errors = self.constraints.propagate(self)
newtoken = self.get_state_token()
self.debug.propagate_finished()
if errors:
if raise_errors:
force_lit_args = [e for e in errors
if isinstance(e, ForceLiteralArg)]
if not force_lit_args:
> raise errors[0]
E numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython frontend)
E Failed in cuda mode pipeline (step: nopython frontend)
E Use of unsupported NumPy function 'numpy.exp' or unsupported use of the function.
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: typing of get attribute at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/base.py (104)
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: Pass nopython_type_inference
E During: resolving callee type: type(CUDADispatcher(<function intensity_black_body at 0x735c30362160>))
E During: typing of call at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py (22)
E
E
E File "tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py", line 22:
E def black_body_caller(nu, temperature, actual):
E <source elided>
E x = cuda.grid(1)
E actual[x] = formal_integral_cuda.intensity_black_body_cuda(nu, temperature)
E ^
E
E During: Pass nopython_type_inference
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/typeinfer.py:1074: TypingError
_____________________ test_intensity_black_body_cuda[0-1] ______________________
nu = 0, temperature = 1
@pytest.mark.skipif(
not GPUs_available, reason="No GPU is available to test CUDA function"
)
@pytest.mark.parametrize(
["nu", "temperature"],
[
(1e14, 1e4),
(0, 1),
(1, 1),
],
)
def test_intensity_black_body_cuda(nu, temperature):
"""
Initializes the test of the cuda version
against the numba implementation of the
intensity_black_body to 15 decimals. This
is done as both results have 15 digits of precision.
"""
actual = np.zeros(3)
> black_body_caller[1, 3](nu, temperature, actual)
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py:48:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:539: in __call__
return self.dispatcher.call(args, self.griddim, self.blockdim,
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:681: in call
kernel = _dispatcher.Dispatcher._cuda_call(self, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:689: in _compile_for_args
return self.compile(tuple(argtypes))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:932: in compile
kernel = _Kernel(self.py_func, argtypes, **self.targetoptions)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:83: in __init__
cres = compile_cuda(self.py_func, types.void, self.argtypes,
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/compiler.py:196: in compile_cuda
cres = compiler.compile_extra(typingctx=typingctx,
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:739: in compile_extra
return pipeline.compile_extra(func)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:439: in compile_extra
return self._compile_bytecode()
^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:505: in _compile_bytecode
return self._compile_core()
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:484: in _compile_core
raise e
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:473: in _compile_core
pm.run(self.state)
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_machinery.py:367: in run
raise patched_exception
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_machinery.py:356: in run
self._runPass(idx, pass_inst, state)
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_machinery.py:311: in _runPass
mutated |= check(pss.run_pass, internal_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_machinery.py:272: in check
mangled = func(compiler_state)
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/typed_passes.py:112: in run_pass
typemap, return_type, calltypes, errs = type_inference_stage(
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/typed_passes.py:93: in type_inference_stage
errs = infer.propagate(raise_errors=raise_errors)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <numba.core.typeinfer.TypeInferer object at 0x735bb41ebe10>
raise_errors = True
def propagate(self, raise_errors=True):
newtoken = self.get_state_token()
oldtoken = None
# Since the number of types are finite, the typesets will eventually
# stop growing.
while newtoken != oldtoken:
self.debug.propagate_started()
oldtoken = newtoken
# Errors can appear when the type set is incomplete; only
# raise them when there is no progress anymore.
errors = self.constraints.propagate(self)
newtoken = self.get_state_token()
self.debug.propagate_finished()
if errors:
if raise_errors:
force_lit_args = [e for e in errors
if isinstance(e, ForceLiteralArg)]
if not force_lit_args:
> raise errors[0]
E numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython frontend)
E Failed in cuda mode pipeline (step: nopython frontend)
E Use of unsupported NumPy function 'numpy.exp' or unsupported use of the function.
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: typing of get attribute at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/base.py (104)
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: Pass nopython_type_inference
E During: resolving callee type: type(CUDADispatcher(<function intensity_black_body at 0x735c30362160>))
E During: typing of call at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py (22)
E
E
E File "tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py", line 22:
E def black_body_caller(nu, temperature, actual):
E <source elided>
E x = cuda.grid(1)
E actual[x] = formal_integral_cuda.intensity_black_body_cuda(nu, temperature)
E ^
E
E During: Pass nopython_type_inference
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/typeinfer.py:1074: TypingError
_____________________ test_intensity_black_body_cuda[1-1] ______________________
nu = 1, temperature = 1
@pytest.mark.skipif(
not GPUs_available, reason="No GPU is available to test CUDA function"
)
@pytest.mark.parametrize(
["nu", "temperature"],
[
(1e14, 1e4),
(0, 1),
(1, 1),
],
)
def test_intensity_black_body_cuda(nu, temperature):
"""
Initializes the test of the cuda version
against the numba implementation of the
intensity_black_body to 15 decimals. This
is done as both results have 15 digits of precision.
"""
actual = np.zeros(3)
> black_body_caller[1, 3](nu, temperature, actual)
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py:48:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:539: in __call__
return self.dispatcher.call(args, self.griddim, self.blockdim,
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:681: in call
kernel = _dispatcher.Dispatcher._cuda_call(self, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:689: in _compile_for_args
return self.compile(tuple(argtypes))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:932: in compile
kernel = _Kernel(self.py_func, argtypes, **self.targetoptions)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/dispatcher.py:83: in __init__
cres = compile_cuda(self.py_func, types.void, self.argtypes,
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/cuda/compiler.py:196: in compile_cuda
cres = compiler.compile_extra(typingctx=typingctx,
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:739: in compile_extra
return pipeline.compile_extra(func)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:439: in compile_extra
return self._compile_bytecode()
^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:505: in _compile_bytecode
return self._compile_core()
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:484: in _compile_core
raise e
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler.py:473: in _compile_core
pm.run(self.state)
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_machinery.py:367: in run
raise patched_exception
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_machinery.py:356: in run
self._runPass(idx, pass_inst, state)
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_machinery.py:311: in _runPass
mutated |= check(pss.run_pass, internal_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/compiler_machinery.py:272: in check
mangled = func(compiler_state)
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/typed_passes.py:112: in run_pass
typemap, return_type, calltypes, errs = type_inference_stage(
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/typed_passes.py:93: in type_inference_stage
errs = infer.propagate(raise_errors=raise_errors)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <numba.core.typeinfer.TypeInferer object at 0x735bfbe8b1e0>
raise_errors = True
def propagate(self, raise_errors=True):
newtoken = self.get_state_token()
oldtoken = None
# Since the number of types are finite, the typesets will eventually
# stop growing.
while newtoken != oldtoken:
self.debug.propagate_started()
oldtoken = newtoken
# Errors can appear when the type set is incomplete; only
# raise them when there is no progress anymore.
errors = self.constraints.propagate(self)
newtoken = self.get_state_token()
self.debug.propagate_finished()
if errors:
if raise_errors:
force_lit_args = [e for e in errors
if isinstance(e, ForceLiteralArg)]
if not force_lit_args:
> raise errors[0]
E numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython frontend)
E Failed in cuda mode pipeline (step: nopython frontend)
E Use of unsupported NumPy function 'numpy.exp' or unsupported use of the function.
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: typing of get attribute at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/base.py (104)
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: Pass nopython_type_inference
E During: resolving callee type: type(CUDADispatcher(<function intensity_black_body at 0x735c30362160>))
E During: typing of call at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py (22)
E
E
E File "tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py", line 22:
E def black_body_caller(nu, temperature, actual):
E <source elided>
E x = cuda.grid(1)
E actual[x] = formal_integral_cuda.intensity_black_body_cuda(nu, temperature)
E ^
E
E During: Pass nopython_type_inference
../../.conda/envs/tardis-test-ce43cec0/lib/python3.13/site-packages/numba/core/typeinfer.py:1074: TypingError
_____________________ test_full_formal_integral[200000-5] ______________________
no_of_packets = 200000, iterations = 5
config_verysimple = {'tardis_config_version': 'v1.0', 'supernova': {'luminosity_requested': <Quantity 1.07688e+36 W>, 'time_explosion': <Q...: {'points': 1000, 'interpolate_shells': 0, 'compute': 'CPU'}}, 'config_dirname': 'tardis/io/configuration/tests/data'}
simulation_verysimple = <tardis.simulation.base.Simulation object at 0x735c0cfbaf90>
@pytest.mark.skipif(
not GPUs_available, reason="No GPU is available to test CUDA function"
)
@pytest.mark.parametrize(["no_of_packets", "iterations"], [(200000, 5)])
def test_full_formal_integral(
no_of_packets, iterations, config_verysimple, simulation_verysimple
):
"""
This function initializes both the cuda and numba formal_integrator,
and the runs them and compares results to the 15th decimal place.
This is done as both results have 15 digits of precision.
"""
sim = simulation_verysimple
formal_integrator_numba = FormalIntegrator(
sim.simulation_state, sim.plasma, sim.transport
)
formal_integrator_cuda = FormalIntegrator(
sim.simulation_state, sim.plasma, sim.transport
)
# The function calculate_spectrum sets this property, but in order to test the CUDA.
# version it is done manually, as well as to speed up the test.
formal_integrator_numba.interpolate_shells = max(
2 * formal_integrator_numba.simulation_state.no_of_shells, 80
)
formal_integrator_cuda.interpolate_shells = max(
2 * formal_integrator_cuda.simulation_state.no_of_shells, 80
)
> res_numba = make_source_function(
formal_integrator_numba.simulation_state,
formal_integrator_numba.plasma,
formal_integrator_numba.transport,
formal_integrator_numba.interpolate_shells
)
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py:329:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
simulation_state = <tardis.model.base.SimulationState object at 0x735c1c446f90>
opacity_state = <tardis.plasma.base.BasePlasma object at 0x735c0cfb8d70>
transport = <tardis.transport.montecarlo.base.MonteCarloTransportSolver object at 0x735c0cfba510>
plasma = 80, interpolate_shells = 0
def make_source_function(simulation_state, opacity_state, transport, plasma, interpolate_shells=0):
"""
Calculates the source function using the line absorption rate estimator `Edotlu_estimator`
Formally it calculates the expression ( 1 - exp(-tau_ul) ) S_ul but this product is what we need later,
so there is no need to factor out the source function explicitly.
Parameters
----------
simulation_state : tardis.model.SimulationState
opacity_state : tardis.opacity.OpacityStateNumba
transport : tardis.transport.montecarlo.MonteCarloTransportSolver
plasma : tardis.plasma.BasePlasma
interpolate_shells : int
Number of shells to interpolate to. If set to 0, no interpolation is performed.
Returns
-------
Numpy array containing ( 1 - exp(-tau_ul) ) S_ul ordered by wavelength of the transition u -> l
"""
montecarlo_transport_state = transport.transport_state
> atomic_data = plasma.atomic_data
^^^^^^^^^^^^^^^^^^
E AttributeError: 'int' object has no attribute 'atomic_data'
tardis/spectrum/formal_integral/base.py:128: AttributeError
=========================== short test summary info ============================
FAILED tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py::test_intensity_black_body_cuda[100000000000000.0-10000.0] - numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython...
FAILED tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py::test_intensity_black_body_cuda[0-1] - numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython...
FAILED tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py::test_intensity_black_body_cuda[1-1] - numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython...
FAILED tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py::test_full_formal_integral[200000-5] - AttributeError: 'int' object has no attribute 'atomic_data'
= 4 failed, 648 passed, 125 skipped, 2 deselected, 22 xfailed, 8 xpassed, 344 warnings, 1041 regression data written in 791.08s (0:13:11) =
ERROR:tardisbase.testing.regression_comparison.run_tests:Stderr:
Packets: ████████████████████████████████████████████████████████████████████
Iterations:
ERROR conda.cli.main_run:execute(127): `conda run python -m pytest tardis --tardis-regression-data=/home/riddhigangbhoj/tardis-work/tardis-regression-data --generate-reference --disable-warnings -m not continuum` failed. (See above for error)
INFO:tardisbase.testing.regression_comparison.run_tests:
=== Phase 2: Running 'continuum' tests for commit ce43cec0fa5d9255108c90c84659c71d34fb1c26 ===
INFO:tardisbase.testing.regression_comparison.run_tests:Running continuum tests: conda run -n tardis-test-ce43cec0 python -m pytest tardis --tardis-regression-data=/home/riddhigangbhoj/tardis-work/tardis-regression-data --generate-reference --disable-warnings -m continuum
WARNING:tardisbase.testing.regression_comparison.run_tests:Tests completed with some failures for commit ce43cec0fa5d9255108c90c84659c71d34fb1c26, but regression data was generated
INFO:tardisbase.testing.regression_comparison.run_tests:Processing commit 3/3: fa4c4ea98055ea3bef24d69feba26fb5f74c2ddf
INFO:tardisbase.testing.regression_comparison.run_tests:Creating conda environment: tardis-test-fa4c4ea9
INFO:tardisbase.testing.regression_comparison.run_tests:Checking if environment tardis-test-fa4c4ea9 exists...
INFO:tardisbase.testing.regression_comparison.run_tests:Environment tardis-test-fa4c4ea9 exists, removing it for recreation...
INFO:tardisbase.testing.regression_comparison.run_tests:Creating conda environment: conda create --name tardis-test-fa4c4ea9 --file /tmp/tmpvmuy4cbz.lock -y
INFO:tardisbase.testing.regression_comparison.run_tests:Installing TARDIS with all extras ['viz', 'tardisbase']: conda run -n tardis-test-fa4c4ea9 pip install -e /home/riddhigangbhoj/tardis-work/tardis[viz,tardisbase]
INFO:tardisbase.testing.regression_comparison.run_tests:
=== Phase 1: Running 'not continuum' tests for commit fa4c4ea98055ea3bef24d69feba26fb5f74c2ddf ===
INFO:tardisbase.testing.regression_comparison.run_tests:Running not continuum tests: conda run -n tardis-test-fa4c4ea9 python -m pytest tardis --tardis-regression-data=/home/riddhigangbhoj/tardis-work/tardis-regression-data --generate-reference --disable-warnings -m not continuum
WARNING:tardisbase.testing.regression_comparison.run_tests:'not continuum' tests had failures for commit fa4c4ea98055ea3bef24d69feba26fb5f74c2ddf
INFO:tardisbase.testing.regression_comparison.run_tests:Stdout: ============================= test session starts ==============================
platform linux -- Python 3.13.3, pytest-8.4.0, pluggy-1.6.0
rootdir: /home/riddhigangbhoj/tardis-work/tardis
configfile: pyproject.toml
plugins: anyio-4.9.0, cov-6.1.1, doctestplus-1.4.0, metadata-3.1.1, html-4.1.1
collected 1850 items / 2 deselected / 1848 selected
tardis/energy_input/tests/test_energy_source.py ..xxx [ 0%]
tardis/energy_input/tests/test_gamma_ray_channel.py ............. [ 0%]
tardis/energy_input/tests/test_gamma_ray_grid.py xx. [ 1%]
tardis/energy_input/tests/test_gamma_ray_interactions.py xx.... [ 1%]
tardis/energy_input/tests/test_gamma_ray_packet_source.py sssssssss [ 1%]
tardis/energy_input/tests/test_util.py .....xxxx..... [ 2%]
tardis/grid/tests/test_grid.py . [ 2%]
tardis/gui/tests/test_gui.py s [ 2%]
tardis/io/configuration/tests/test_config_reader.py ........... [ 3%]
tardis/io/configuration/tests/test_config_validator.py ..... [ 3%]
tardis/io/configuration/tests/test_configuration_namespace.py ......... [ 4%]
tardis/io/logger/tests/test_logging.py ssssssssssssssssssssssssssss [ 5%]
tardis/io/model/readers/snec/tests/test_input_profiles.py . [ 5%]
tardis/io/model/readers/snec/tests/test_read_snec_output.py . [ 5%]
tardis/io/model/readers/snec/tests/test_xg_files.py ... [ 5%]
tardis/io/model/readers/tests/test_arepo_parser.py ss [ 6%]
tardis/io/model/readers/tests/test_artis_readers.py .... [ 6%]
tardis/io/model/readers/tests/test_ascii_readers.py ... [ 6%]
tardis/io/model/readers/tests/test_cmfgen_reader.py .. [ 6%]
tardis/io/model/readers/tests/test_csvy_reader.py .... [ 6%]
tardis/io/model/readers/tests/test_stella_reader.py .. [ 6%]
tardis/io/tests/test_HDFWriter.py ................ [ 7%]
tardis/io/tests/test_atomic.py ..... [ 8%]
tardis/io/tests/test_decay.py .. [ 8%]
tardis/io/tests/test_model_reader.py ....... [ 8%]
tardis/model/geometry/tests/test_radial1d.py .. [ 8%]
tardis/model/tests/test_base.py ........................................ [ 10%]
............ [ 11%]
tardis/model/tests/test_csvy_model.py ......... [ 11%]
tardis/model/tests/test_density.py .. [ 12%]
tardis/opacities/tests/test_opacity_solver.py .....WWWW [ 12%]
tardis/opacities/tests/test_opacity_state_numba.py ..... [ 12%]
tardis/opacities/tests/test_tau_sobolev.py WW [ 12%]
tardis/plasma/equilibrium/tests/test_collisional_transitions.py .. [ 12%]
tardis/plasma/equilibrium/tests/test_level_populations.py ...W [ 13%]
tardis/plasma/equilibrium/tests/test_rate_matrix.py W [ 13%]
tardis/plasma/tests/test_complete_plasmas.py WWWWWWWWWWWWWWWWWWWWWWWWWWW [ 14%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 18%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 22%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 26%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 30%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 34%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 38%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 41%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 45%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 49%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 53%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 57%]
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [ 59%]
tardis/plasma/tests/test_hdf_plasma.py WWWWWWWWW..WWWWWWWWWWW.WWWWWWWWWW [ 61%]
WWWWWW [ 61%]
tardis/plasma/tests/test_nlte_excitation.py WWW [ 62%]
tardis/plasma/tests/test_nlte_solver.py WW...X [ 62%]
tardis/plasma/tests/test_plasma_continuum.py W [ 62%]
tardis/plasma/tests/test_plasma_vboundary.py ............. [ 63%]
tardis/plasma/tests/test_tardis_model_density_config.py WWW [ 63%]
tardis/simulation/tests/test_convergence.py ..... [ 63%]
tardis/simulation/tests/test_simulation.py WWWWWWWWWW... [ 64%]
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py FFF.. [ 64%]
.........................................F [ 66%]
tardis/spectrum/formal_integral/tests/test_formal_integral.py ..x....... [ 67%]
[ 67%]
tardis/spectrum/formal_integral/tests/test_numba_formal_integral.py .... [ 67%]
.................... [ 68%]
tardis/spectrum/tests/test_luminosity.py .... [ 68%]
tardis/spectrum/tests/test_spectrum.py ................................. [ 70%]
......... [ 71%]
tardis/spectrum/tests/test_spectrum_solver.py WWWW [ 71%]
tardis/tests/test_tardis_full.py ..WWW [ 71%]
tardis/tests/test_tardis_full_formal_integral.py WWWWWWWWWWWWWWWW [ 72%]
tardis/tests/test_util.py ............................................. [ 74%]
tardis/transport/montecarlo/tests/test_base.py x..................... [ 76%]
tardis/transport/montecarlo/tests/test_interaction.py ....... [ 76%]
tardis/transport/montecarlo/tests/test_macro_atom.py .... [ 76%]
tardis/transport/montecarlo/tests/test_montecarlo.py sssssssssssssssssss [ 77%]
sssssssssssssssssssssssssssssssssssss [ 79%]
tardis/transport/montecarlo/tests/test_montecarlo_main_loop.py xWW [ 79%]
tardis/transport/montecarlo/tests/test_nonhomologous.py ... [ 80%]
tardis/transport/montecarlo/tests/test_numba_interface.py .....x. [ 80%]
tardis/transport/montecarlo/tests/test_opacities.py ............... [ 81%]
tardis/transport/montecarlo/tests/test_packet.py .................xXXXXX [ 82%]
XX......... [ 83%]
tardis/transport/montecarlo/tests/test_packet_source.py WWWWWWWW [ 83%]
tardis/transport/montecarlo/tests/test_rpacket_last_interaction_tracker.py . [ 83%]
..... [ 83%]
tardis/transport/montecarlo/tests/test_rpacket_tracker.py ....W. [ 84%]
tardis/transport/montecarlo/tests/test_single_packet_loop.py xxx [ 84%]
tardis/transport/montecarlo/tests/test_tracker_utils.py .. [ 84%]
tardis/transport/montecarlo/tests/test_vpacket.py ..x. [ 84%]
tardis/transport/montecarlo/tests/test_weighted_packet_source.py WWWW [ 84%]
tardis/transport/montecarlo/tests/test_weighted_packet_source_integration.py . [ 84%]
[ 84%]
tardis/transport/tests/test_doppler_factor.py .................. [ 85%]
tardis/visualization/tests/test_plot_util.py ................WW [ 86%]
tardis/visualization/tools/tests/test_convergence_plot.py .............. [ 87%]
...... [ 87%]
tardis/visualization/tools/tests/test_lineid_plotter.py sssxx [ 88%]
tardis/visualization/tools/tests/test_liv_plot.py WWWWWWWWWWWWWWWWWWWWWW [ 89%]
WWWWWWWWWWWWWssssssssWWWWWWWW [ 91%]
tardis/visualization/tools/tests/test_rpacket_plot.py .................. [ 91%]
............... [ 92%]
tardis/visualization/tools/tests/test_sdec_plot.py WWWWWWWWWWWWWWWWWWWWW [ 93%]
WWWWWWWWWWWWWWssssssssssssssss. [ 95%]
tardis/visualization/widgets/tests/test_custom_abundance.py ........ss.. [ 96%]
.... [ 96%]
tardis/visualization/widgets/tests/test_line_info.py ................... [ 97%]
...................... [ 98%]
tardis/visualization/widgets/tests/test_shell_info.py .................. [ 99%]
...... [100%]
=================================== FAILURES ===================================
__________ test_intensity_black_body_cuda[100000000000000.0-10000.0] ___________
nu = 100000000000000.0, temperature = 10000.0
@pytest.mark.skipif(
not GPUs_available, reason="No GPU is available to test CUDA function"
)
@pytest.mark.parametrize(
["nu", "temperature"],
[
(1e14, 1e4),
(0, 1),
(1, 1),
],
)
def test_intensity_black_body_cuda(nu, temperature):
"""
Initializes the test of the cuda version
against the numba implementation of the
intensity_black_body to 15 decimals. This
is done as both results have 15 digits of precision.
"""
actual = np.zeros(3)
> black_body_caller[1, 3](nu, temperature, actual)
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py:48:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:539: in __call__
return self.dispatcher.call(args, self.griddim, self.blockdim,
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:681: in call
kernel = _dispatcher.Dispatcher._cuda_call(self, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:689: in _compile_for_args
return self.compile(tuple(argtypes))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:932: in compile
kernel = _Kernel(self.py_func, argtypes, **self.targetoptions)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:83: in __init__
cres = compile_cuda(self.py_func, types.void, self.argtypes,
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/compiler.py:196: in compile_cuda
cres = compiler.compile_extra(typingctx=typingctx,
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:739: in compile_extra
return pipeline.compile_extra(func)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:439: in compile_extra
return self._compile_bytecode()
^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:505: in _compile_bytecode
return self._compile_core()
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:484: in _compile_core
raise e
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:473: in _compile_core
pm.run(self.state)
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_machinery.py:367: in run
raise patched_exception
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_machinery.py:356: in run
self._runPass(idx, pass_inst, state)
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_machinery.py:311: in _runPass
mutated |= check(pss.run_pass, internal_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_machinery.py:272: in check
mangled = func(compiler_state)
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/typed_passes.py:112: in run_pass
typemap, return_type, calltypes, errs = type_inference_stage(
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/typed_passes.py:93: in type_inference_stage
errs = infer.propagate(raise_errors=raise_errors)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <numba.core.typeinfer.TypeInferer object at 0x7059e0f42dd0>
raise_errors = True
def propagate(self, raise_errors=True):
newtoken = self.get_state_token()
oldtoken = None
# Since the number of types are finite, the typesets will eventually
# stop growing.
while newtoken != oldtoken:
self.debug.propagate_started()
oldtoken = newtoken
# Errors can appear when the type set is incomplete; only
# raise them when there is no progress anymore.
errors = self.constraints.propagate(self)
newtoken = self.get_state_token()
self.debug.propagate_finished()
if errors:
if raise_errors:
force_lit_args = [e for e in errors
if isinstance(e, ForceLiteralArg)]
if not force_lit_args:
> raise errors[0]
E numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython frontend)
E Failed in cuda mode pipeline (step: nopython frontend)
E Use of unsupported NumPy function 'numpy.exp' or unsupported use of the function.
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: typing of get attribute at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/base.py (104)
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: Pass nopython_type_inference
E During: resolving callee type: type(CUDADispatcher(<function intensity_black_body at 0x705a182ee200>))
E During: typing of call at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py (22)
E
E
E File "tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py", line 22:
E def black_body_caller(nu, temperature, actual):
E <source elided>
E x = cuda.grid(1)
E actual[x] = formal_integral_cuda.intensity_black_body_cuda(nu, temperature)
E ^
E
E During: Pass nopython_type_inference
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/typeinfer.py:1074: TypingError
_____________________ test_intensity_black_body_cuda[0-1] ______________________
nu = 0, temperature = 1
@pytest.mark.skipif(
not GPUs_available, reason="No GPU is available to test CUDA function"
)
@pytest.mark.parametrize(
["nu", "temperature"],
[
(1e14, 1e4),
(0, 1),
(1, 1),
],
)
def test_intensity_black_body_cuda(nu, temperature):
"""
Initializes the test of the cuda version
against the numba implementation of the
intensity_black_body to 15 decimals. This
is done as both results have 15 digits of precision.
"""
actual = np.zeros(3)
> black_body_caller[1, 3](nu, temperature, actual)
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py:48:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:539: in __call__
return self.dispatcher.call(args, self.griddim, self.blockdim,
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:681: in call
kernel = _dispatcher.Dispatcher._cuda_call(self, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:689: in _compile_for_args
return self.compile(tuple(argtypes))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:932: in compile
kernel = _Kernel(self.py_func, argtypes, **self.targetoptions)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:83: in __init__
cres = compile_cuda(self.py_func, types.void, self.argtypes,
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/compiler.py:196: in compile_cuda
cres = compiler.compile_extra(typingctx=typingctx,
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:739: in compile_extra
return pipeline.compile_extra(func)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:439: in compile_extra
return self._compile_bytecode()
^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:505: in _compile_bytecode
return self._compile_core()
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:484: in _compile_core
raise e
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:473: in _compile_core
pm.run(self.state)
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_machinery.py:367: in run
raise patched_exception
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_machinery.py:356: in run
self._runPass(idx, pass_inst, state)
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_machinery.py:311: in _runPass
mutated |= check(pss.run_pass, internal_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_machinery.py:272: in check
mangled = func(compiler_state)
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/typed_passes.py:112: in run_pass
typemap, return_type, calltypes, errs = type_inference_stage(
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/typed_passes.py:93: in type_inference_stage
errs = infer.propagate(raise_errors=raise_errors)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <numba.core.typeinfer.TypeInferer object at 0x7058840bc940>
raise_errors = True
def propagate(self, raise_errors=True):
newtoken = self.get_state_token()
oldtoken = None
# Since the number of types are finite, the typesets will eventually
# stop growing.
while newtoken != oldtoken:
self.debug.propagate_started()
oldtoken = newtoken
# Errors can appear when the type set is incomplete; only
# raise them when there is no progress anymore.
errors = self.constraints.propagate(self)
newtoken = self.get_state_token()
self.debug.propagate_finished()
if errors:
if raise_errors:
force_lit_args = [e for e in errors
if isinstance(e, ForceLiteralArg)]
if not force_lit_args:
> raise errors[0]
E numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython frontend)
E Failed in cuda mode pipeline (step: nopython frontend)
E Use of unsupported NumPy function 'numpy.exp' or unsupported use of the function.
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: typing of get attribute at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/base.py (104)
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: Pass nopython_type_inference
E During: resolving callee type: type(CUDADispatcher(<function intensity_black_body at 0x705a182ee200>))
E During: typing of call at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py (22)
E
E
E File "tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py", line 22:
E def black_body_caller(nu, temperature, actual):
E <source elided>
E x = cuda.grid(1)
E actual[x] = formal_integral_cuda.intensity_black_body_cuda(nu, temperature)
E ^
E
E During: Pass nopython_type_inference
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/typeinfer.py:1074: TypingError
_____________________ test_intensity_black_body_cuda[1-1] ______________________
nu = 1, temperature = 1
@pytest.mark.skipif(
not GPUs_available, reason="No GPU is available to test CUDA function"
)
@pytest.mark.parametrize(
["nu", "temperature"],
[
(1e14, 1e4),
(0, 1),
(1, 1),
],
)
def test_intensity_black_body_cuda(nu, temperature):
"""
Initializes the test of the cuda version
against the numba implementation of the
intensity_black_body to 15 decimals. This
is done as both results have 15 digits of precision.
"""
actual = np.zeros(3)
> black_body_caller[1, 3](nu, temperature, actual)
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py:48:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:539: in __call__
return self.dispatcher.call(args, self.griddim, self.blockdim,
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:681: in call
kernel = _dispatcher.Dispatcher._cuda_call(self, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:689: in _compile_for_args
return self.compile(tuple(argtypes))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:932: in compile
kernel = _Kernel(self.py_func, argtypes, **self.targetoptions)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/dispatcher.py:83: in __init__
cres = compile_cuda(self.py_func, types.void, self.argtypes,
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/cuda/compiler.py:196: in compile_cuda
cres = compiler.compile_extra(typingctx=typingctx,
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:739: in compile_extra
return pipeline.compile_extra(func)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:439: in compile_extra
return self._compile_bytecode()
^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:505: in _compile_bytecode
return self._compile_core()
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:484: in _compile_core
raise e
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler.py:473: in _compile_core
pm.run(self.state)
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_machinery.py:367: in run
raise patched_exception
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_machinery.py:356: in run
self._runPass(idx, pass_inst, state)
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_lock.py:35: in _acquire_compile_lock
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_machinery.py:311: in _runPass
mutated |= check(pss.run_pass, internal_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/compiler_machinery.py:272: in check
mangled = func(compiler_state)
^^^^^^^^^^^^^^^^^^^^
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/typed_passes.py:112: in run_pass
typemap, return_type, calltypes, errs = type_inference_stage(
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/typed_passes.py:93: in type_inference_stage
errs = infer.propagate(raise_errors=raise_errors)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <numba.core.typeinfer.TypeInferer object at 0x7059d9e342c0>
raise_errors = True
def propagate(self, raise_errors=True):
newtoken = self.get_state_token()
oldtoken = None
# Since the number of types are finite, the typesets will eventually
# stop growing.
while newtoken != oldtoken:
self.debug.propagate_started()
oldtoken = newtoken
# Errors can appear when the type set is incomplete; only
# raise them when there is no progress anymore.
errors = self.constraints.propagate(self)
newtoken = self.get_state_token()
self.debug.propagate_finished()
if errors:
if raise_errors:
force_lit_args = [e for e in errors
if isinstance(e, ForceLiteralArg)]
if not force_lit_args:
> raise errors[0]
E numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython frontend)
E Failed in cuda mode pipeline (step: nopython frontend)
E Use of unsupported NumPy function 'numpy.exp' or unsupported use of the function.
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: typing of get attribute at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/base.py (104)
E
E File "tardis/spectrum/formal_integral/base.py", line 104:
E def intensity_black_body(nu, temperature):
E <source elided>
E coefficient = 2 * H_CGS * C_INV * C_INV
E return coefficient * nu * nu * nu / (np.exp(H_CGS * nu * beta_rad) - 1)
E ^
E
E During: Pass nopython_type_inference
E During: resolving callee type: type(CUDADispatcher(<function intensity_black_body at 0x705a182ee200>))
E During: typing of call at /home/riddhigangbhoj/tardis-work/tardis/tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py (22)
E
E
E File "tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py", line 22:
E def black_body_caller(nu, temperature, actual):
E <source elided>
E x = cuda.grid(1)
E actual[x] = formal_integral_cuda.intensity_black_body_cuda(nu, temperature)
E ^
E
E During: Pass nopython_type_inference
../../.conda/envs/tardis-test-fa4c4ea9/lib/python3.13/site-packages/numba/core/typeinfer.py:1074: TypingError
_____________________ test_full_formal_integral[200000-5] ______________________
no_of_packets = 200000, iterations = 5
config_verysimple = {'tardis_config_version': 'v1.0', 'supernova': {'luminosity_requested': <Quantity 1.07688e+36 W>, 'time_explosion': <Q...: {'points': 1000, 'interpolate_shells': 0, 'compute': 'CPU'}}, 'config_dirname': 'tardis/io/configuration/tests/data'}
simulation_verysimple = <tardis.simulation.base.Simulation object at 0x7059ec0daf90>
@pytest.mark.skipif(
not GPUs_available, reason="No GPU is available to test CUDA function"
)
@pytest.mark.parametrize(["no_of_packets", "iterations"], [(200000, 5)])
def test_full_formal_integral(
no_of_packets, iterations, config_verysimple, simulation_verysimple
):
"""
This function initializes both the cuda and numba formal_integrator,
and the runs them and compares results to the 15th decimal place.
This is done as both results have 15 digits of precision.
"""
sim = simulation_verysimple
formal_integrator_numba = FormalIntegrator(
sim.simulation_state, sim.plasma, sim.transport
)
formal_integrator_cuda = FormalIntegrator(
sim.simulation_state, sim.plasma, sim.transport
)
# The function calculate_spectrum sets this property, but in order to test the CUDA.
# version it is done manually, as well as to speed up the test.
formal_integrator_numba.interpolate_shells = max(
2 * formal_integrator_numba.simulation_state.no_of_shells, 80
)
formal_integrator_cuda.interpolate_shells = max(
2 * formal_integrator_cuda.simulation_state.no_of_shells, 80
)
> res_numba = make_source_function(
formal_integrator_numba.simulation_state,
formal_integrator_numba.plasma,
formal_integrator_numba.transport,
formal_integrator_numba.interpolate_shells
)
tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py:329:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
simulation_state = <tardis.model.base.SimulationState object at 0x7059ebda4a70>
opacity_state = <tardis.plasma.base.BasePlasma object at 0x7059ec0d8d70>
transport = <tardis.transport.montecarlo.base.MonteCarloTransportSolver object at 0x7059ec0da510>
plasma = 80, interpolate_shells = 0
def make_source_function(simulation_state, opacity_state, transport, plasma, interpolate_shells=0):
"""
Calculates the source function using the line absorption rate estimator `Edotlu_estimator`
Formally it calculates the expression ( 1 - exp(-tau_ul) ) S_ul but this product is what we need later,
so there is no need to factor out the source function explicitly.
Parameters
----------
simulation_state : tardis.model.SimulationState
opacity_state : tardis.opacity.OpacityStateNumba
transport : tardis.transport.montecarlo.MonteCarloTransportSolver
plasma : tardis.plasma.BasePlasma
interpolate_shells : int
Number of shells to interpolate to. If set to 0, no interpolation is performed.
Returns
-------
Numpy array containing ( 1 - exp(-tau_ul) ) S_ul ordered by wavelength of the transition u -> l
"""
montecarlo_transport_state = transport.transport_state
> atomic_data = plasma.atomic_data
^^^^^^^^^^^^^^^^^^
E AttributeError: 'int' object has no attribute 'atomic_data'
tardis/spectrum/formal_integral/base.py:128: AttributeError
=========================== short test summary info ============================
FAILED tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py::test_intensity_black_body_cuda[100000000000000.0-10000.0] - numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython...
FAILED tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py::test_intensity_black_body_cuda[0-1] - numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython...
FAILED tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py::test_intensity_black_body_cuda[1-1] - numba.core.errors.TypingError: Failed in cuda mode pipeline (step: nopython...
FAILED tardis/spectrum/formal_integral/tests/test_cuda_formal_integral.py::test_full_formal_integral[200000-5] - AttributeError: 'int' object has no attribute 'atomic_data'
= 4 failed, 648 passed, 125 skipped, 2 deselected, 22 xfailed, 8 xpassed, 344 warnings, 1041 regression data written in 795.53s (0:13:15) =
ERROR:tardisbase.testing.regression_comparison.run_tests:Stderr:
Packets: ████████████████████████████████████████████████████████████████████
Iterations:
ERROR conda.cli.main_run:execute(127): `conda run python -m pytest tardis --tardis-regression-data=/home/riddhigangbhoj/tardis-work/tardis-regression-data --generate-reference --disable-warnings -m not continuum` failed. (See above for error)
INFO:tardisbase.testing.regression_comparison.run_tests:
=== Phase 2: Running 'continuum' tests for commit fa4c4ea98055ea3bef24d69feba26fb5f74c2ddf ===
INFO:tardisbase.testing.regression_comparison.run_tests:Running continuum tests: conda run -n tardis-test-fa4c4ea9 python -m pytest tardis --tardis-regression-data=/home/riddhigangbhoj/tardis-work/tardis-regression-data --generate-reference --disable-warnings -m continuum
WARNING:tardisbase.testing.regression_comparison.run_tests:Tests completed with some failures for commit fa4c4ea98055ea3bef24d69feba26fb5f74c2ddf, but regression data was generated
INFO:tardisbase.testing.regression_comparison.run_tests:
Processed Tardis Commits:
INFO:tardisbase.testing.regression_comparison.run_tests:701bb18916886ecf2797b0dda4843750f69592da
INFO:tardisbase.testing.regression_comparison.run_tests:ce43cec0fa5d9255108c90c84659c71d34fb1c26
INFO:tardisbase.testing.regression_comparison.run_tests:fa4c4ea98055ea3bef24d69feba26fb5f74c2ddf
INFO:tardisbase.testing.regression_comparison.run_tests:
Regression Data Commits:
INFO:tardisbase.testing.regression_comparison.run_tests:6483eafe2755ef870ef8c5a2b01d58b306818908
INFO:tardisbase.testing.regression_comparison.run_tests:2cbdeaf2c183d49707ac09428e70a5c761171bed
INFO:tardisbase.testing.regression_comparison.run_tests:77c99381b26b0a1cd453f81fedf92febefa4bc2f
Case 2: Test specific TARDIS commits¶
Important Note:
Comment out
n
from configcommits_input
is list ofcommits
hashes from configIf tardis commits provided are [1,2,3,4] then the comparison would be [“2-1”,”3-2”,”4-3”] of the respective regression commits. So, make the list accordingly.
To forcely recreate new enviornment each time even when enviornment already exist, do
force_recreate
asTrue
Either provide entire “tardis” module or selective path like “tardis/spectrum/tests/test_spectrum_solver.py” in
test_path
Provide path to default current enviornment in
default_curr_env
If you want to use default current enviornment only without creating new enviornment each time, do
use_new_envs
asFalse
.
[ ]:
# processed_commits, regression_commits, original_head = run_tests(
# **config,
# commits_input=config["commits"],
# conda_manager=config["conda_manager"],
# force_recreate=True,
# test_path="tardis/spectrum/tests/test_spectrum_solver.py",
# default_curr_env="/home/riddhigangbhoj/miniforge3/envs/tardis-master",
# use_new_envs=True
# )
Method 2: Use existing regression data commits¶
A. Manual Commit Selection¶
Note:
No need to run pytest for this.
If commits provided are [1,2,3,4] then the comparison would be [“2-1”,”3-2”,”4-3”]. So, make the list accordingly.
[ ]:
# regression_commits = ["66a96a847c873544babb7bf934040c86433a5962",
# "d12d869bd2bb2038c9090852ee9ef998959f412d",
# "b008a7180440a697ad5b54a9f77b692d4f71b120",
# "a2a946a43d710c44bb3b08bcae69359fe13ed032",
# "9404dc594563d9457e3ba91fcaa8400cae231801"]
B. Automatically fetch the most recent N commits from regression data repository¶
Note:
No need to run pytest for this.
Set
n
to the number of recent regression commits you want to fetch.
[ ]:
# regression_commits = get_last_n_commits(n=2, repo_path=config["regression_data_repo_path"])
# regression_commits
Visualize File Changes¶
Create a visualizer object to analyze file changes across commits. Note:
Uncomment and set
file_extensions
to any type of file type to filter specific files.Choose
compare_function
of your choice either “git_diff” or “cmd_diff”‘git_diff’: Uses git’s built-in diff functionality to compare files directly within the repository.
‘cmd_diff’: Extracts files to temporary locations and uses the system’s diff command.
Case 1: Direct regression data commits (no TARDIS commits)¶
Use when you are directly providing regression commits.
[ ]:
# visualizer = MultiCommitCompare(
# regression_repo_path=config["regression_data_repo_path"],
# commits=regression_commits,
# # file_extensions=('.h5', '.hdf5') # Uncomment to filter specific files
# compare_function="git_diff"
# )
Case 2: Regression data commits generated from TARDIS commits¶
Use when you are providing tardis comits. Note:
These regression commits are false commits(created just for testing).
[5]:
visualizer = MultiCommitCompare(
regression_repo_path=config["regression_data_repo_path"],
commits=regression_commits,
tardis_commits=processed_commits,
tardis_repo_path=config["tardis_repo_path"],
# file_extensions=('.h5', '.hdf5') # Uncomment to filter specific files
compare_function="git_diff"
)
Analyze the commits¶
[6]:
visualizer.analyze_commits()
Analyzing 3 commits (2 transitions)...
Processing transition 1/2: 2cbdea-6483ea
Processing transition 2/2: 77c993-2cbdea
Found 339 total files across all transitions.
Display the file change matrix¶
[7]:
commit_info, legend, matrix = visualizer.get_analysis_results()
This displays the description of commits which are used to analyze differences.¶
Note:
The false commits generated from tardis commits uses description of tardis commits with prefix “Regression data for –”
Directly provided regression commit uses its description as it is.
Description contains first 60 characters of the actual message.
Commit hashes printed are shortened to 6 characters.
[8]:
commit_info
[8]:
Commit # | Regression Hash (first 6 chars) | Description (first 60 chars) | Date | |
---|---|---|---|---|
0 | 1 | 6483ea | Regression data for --Relativity BugFix [2] (#3176) | 2025-08-06 06:18 |
1 | 2 | 2cbdea | Regression data for --add from workflow method to sdec and liv plot (#3198) | 2025-08-06 06:42 |
2 | 3 | 77c993 | Regression data for --Post-release 2025.07.20 (#3201) | 2025-08-06 07:05 |
Display legend¶
[9]:
legend
[9]:
A Added
D Deleted
M Modified
• Unchanged
− Not-Present
Name: Legend, dtype: object
The matrix below shows file changes across commit transitions.¶
Each row represents a file, and each column represents a commit transition (e.g., “2cbdea-6483ea” means changes from commit 2cbdea to 6483ea).
Note: This transition prints only first 6 characters of each commits (e.g., “0d62366668e7c74d01fc56e8120ae228564eb256” is shortened to “0d6236”).
[10]:
matrix
[10]:
Files | 2cbdea-6483ea | 77c993-2cbdea | |
---|---|---|---|
0 | .gitattributes | • | • |
1 | .github/actions/setup_env/action.yml | • | • |
2 | .github/workflows/run-notebook.yml | • | • |
3 | .github/workflows/trigger-lfs-cache.yml | • | • |
4 | .gitignore | • | • |
5 | LICENSE | • | • |
6 | __init__.py | • | • |
7 | arepo_data/arepo_snapshot.hdf5 | • | • |
8 | arepo_data/arepo_snapshot.json | • | • |
9 | atom_data/chianti_He.h5 | • | • |
10 | atom_data/kurucz_atom_chianti_many.h5 | • | • |
11 | atom_data/kurucz_cd23_chianti_H_He.h5 | • | • |
12 | atom_data/kurucz_cd23_chianti_H_He_latest.h5 | • | • |
13 | atom_data/kurucz_cd23_chianti_Si.h5 | • | • |
14 | atom_data/new_kurucz_cd23_chianti_H_He.h5 | • | • |
15 | atom_data/nlte_atom_data/TestNLTE_He_Ti.h5 | • | • |
16 | atom_data/stardis_atom_data/tardis_adata_vald_longlist.hdf | • | • |
17 | atom_data/stardis_atom_data/tardis_adata_vald_shortlist.hdf | • | • |
18 | compare.py | • | • |
19 | compare_regression_data.ipynb | • | • |
20 | tardis/energy_input/tests/test_gamma_ray_packet_source_minimal/test_gamma_ray_packet_properties__direction__.npy | • | • |
21 | tardis/energy_input/tests/test_gamma_ray_packet_source_minimal/test_gamma_ray_packet_properties__energy_cmf__.npy | • | • |
22 | tardis/energy_input/tests/test_gamma_ray_packet_source_minimal/test_gamma_ray_packet_properties__energy_rf__.npy | • | • |
23 | tardis/energy_input/tests/test_gamma_ray_packet_source_minimal/test_gamma_ray_packet_properties__location__.npy | • | • |
24 | tardis/energy_input/tests/test_gamma_ray_packet_source_minimal/test_gamma_ray_packet_properties__nu_cmf__.npy | • | • |
25 | tardis/energy_input/tests/test_gamma_ray_packet_source_minimal/test_gamma_ray_packet_properties__nu_rf__.npy | • | • |
26 | tardis/energy_input/tests/test_gamma_ray_packet_source_minimal/test_gamma_ray_packet_properties__shell__.npy | • | • |
27 | tardis/energy_input/tests/test_gamma_ray_packet_source_minimal/test_gamma_ray_packet_properties__status__.npy | • | • |
28 | tardis/energy_input/tests/test_gamma_ray_packet_source_minimal/test_gamma_ray_packet_properties__time_index__.npy | • | • |
29 | tardis/energy_input/tests/test_gamma_ray_packet_source_minimal/test_gamma_ray_packet_properties__time_start__.npy | • | • |
30 | tardis/opacities/tests/test_opacity_solver/test_new_macro_atom_solver__downbranch-False__.h5 | M | M |
31 | tardis/opacities/tests/test_opacity_solver/test_new_macro_atom_solver__downbranch-True__.h5 | M | M |
32 | tardis/opacities/tests/test_opacity_solver/test_new_macro_atom_solver__macroatom-False__.h5 | M | M |
33 | tardis/opacities/tests/test_opacity_solver/test_new_macro_atom_solver__macroatom-True__.h5 | M | M |
34 | tardis/opacities/tests/test_tau_sobolev/test_calculate_beta_sobolevs.npy | • | • |
35 | tardis/opacities/tests/test_tau_sobolev/test_calculate_sobolev_line_opacity.h5 | M | M |
36 | tardis/plasma/equilibrium/tests/test_level_populations/test_level_population_solver/test_solve__collisional_rate_solver0-radiative_transitions0__.h5 | M | M |
37 | tardis/plasma/equilibrium/tests/test_rate_matrix/test_rate_matrix_solver__collisional_rate_solver0-radiative_transitions0__.h5 | M | M |
38 | tardis/plasma/tests/test_complete_plasmas/test_plasma/TestPlasma.h5 | • | • |
39 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_disable_electron_scattering_False.h5 | M | M |
40 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_disable_electron_scattering_True.h5 | M | M |
41 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_excitation_dilute-lte.h5 | M | M |
42 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_excitation_lte.h5 | M | M |
43 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_helium_treatment_recomb-nlte.h5 | M | M |
44 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_helium_treatment_recomb-nlte_delta_treatment_0.5.h5 | M | M |
45 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_initial_t_inner_10000 K.h5 | M | M |
46 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_initial_t_rad_10000 K.h5 | M | M |
47 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_ionization_lte.h5 | M | M |
48 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_ionization_nebular.h5 | M | M |
49 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_line_interaction_type_downbranch.h5 | M | M |
50 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_line_interaction_type_macroatom.h5 | M | M |
51 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_line_interaction_type_scatter.h5 | M | M |
52 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_nlte.h5 | M | M |
53 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_nlte_classical_nebular.h5 | M | M |
54 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_nlte_coronal_approximation.h5 | M | M |
55 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_radiative_rates_type_blackbody.h5 | M | M |
56 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_radiative_rates_type_detailed.h5 | M | M |
57 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_radiative_rates_type_detailed_w_epsilon_1e-10.h5 | M | M |
58 | tardis/plasma/tests/test_complete_plasmas/test_plasma/plasma_unittest_radiative_rates_type_dilute-blackbody.h5 | M | M |
59 | tardis/plasma/tests/test_hdf_plasma/test_atomic_data_uuid.txt | • | • |
60 | tardis/plasma/tests/test_hdf_plasma/test_collection__density__.npy | • | • |
61 | tardis/plasma/tests/test_hdf_plasma/test_collection__t_rad__.npy | • | • |
62 | tardis/plasma/tests/test_hdf_plasma/test_collection__w__.npy | • | • |
63 | tardis/plasma/tests/test_hdf_plasma/test_hdf_helium_treatment.txt | • | • |
64 | tardis/plasma/tests/test_hdf_plasma/test_hdf_levels.h5 | M | M |
65 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__abundance__.npy | • | • |
66 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__atomic_mass__.npy | • | • |
67 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__beta_rad__.npy | • | • |
68 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__beta_sobolev__.npy | • | • |
69 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__density__.npy | • | • |
70 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__electron_densities__.npy | • | • |
71 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__excitation_energy__.npy | • | • |
72 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__f_lu__.npy | • | • |
73 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__g__.npy | • | • |
74 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__g_electron__.npy | • | • |
75 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__general_level_boltzmann_factor__.npy | • | • |
76 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__ion_number_density__.npy | • | • |
77 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__ionization_data__.npy | • | • |
78 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__j_blues__.npy | • | • |
79 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__level_boltzmann_factor__.npy | • | • |
80 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__level_number_density__.npy | • | • |
81 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__lines__.npy | • | • |
82 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__lines_lower_level_index__.npy | • | • |
83 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__lines_upper_level_index__.npy | • | • |
84 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__metastability__.npy | • | • |
85 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__nu__.npy | • | • |
86 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__number_density__.npy | • | • |
87 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__partition_function__.npy | • | • |
88 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__phi__.npy | • | • |
89 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__selected_atoms__.npy | • | • |
90 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__stimulated_emission_factor__.npy | • | • |
91 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__t_electrons__.npy | • | • |
92 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__t_rad__.npy | • | • |
93 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__tau_sobolevs__.npy | • | • |
94 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__transition_probabilities__.npy | • | • |
95 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__w__.npy | • | • |
96 | tardis/plasma/tests/test_hdf_plasma/test_hdf_plasma__wavelength_cm__.npy | • | • |
97 | tardis/plasma/tests/test_hdf_plasma/test_hdf_scalars__link_t_rad_t_electron__.npy | • | • |
98 | tardis/plasma/tests/test_hdf_plasma/test_hdf_scalars__time_explosion__.npy | • | • |
99 | tardis/plasma/tests/test_nlte_excitation/test_coll_exc_deexc_matrix__coll_exc_coeff_values0-coll_deexc_coeff_values0-3__.npy | • | • |
100 | tardis/plasma/tests/test_nlte_excitation/test_coll_exc_deexc_matrix__coll_exc_coeff_values1-coll_deexc_coeff_values1-3__.npy | • | • |
101 | tardis/plasma/tests/test_nlte_excitation/test_prepare_bound_bound_rate_matrix.npy | • | • |
102 | tardis/plasma/tests/test_nlte_solver/test_jacobian_matrix.npy | • | • |
103 | tardis/plasma/tests/test_nlte_solver/test_rate_matrix.npy | • | • |
104 | tardis/plasma/tests/test_plasma_continuum/test_exp1_times_exp.npy | • | • |
105 | tardis/plasma/tests/test_tardis_model_density_config/test_electron_densities.npy | • | • |
106 | tardis/plasma/tests/test_tardis_model_density_config/test_isotope_number_densities.h5 | M | M |
107 | tardis/plasma/tests/test_tardis_model_density_config/test_t_rad.npy | • | • |
108 | tardis/simulation/tests/test_simulation/test_plasma_estimates__dilution_factor__.h5 | M | M |
109 | tardis/simulation/tests/test_simulation/test_plasma_estimates__j_estimator__.h5 | M | M |
110 | tardis/simulation/tests/test_simulation/test_plasma_estimates__nu_bar_estimator__.h5 | M | M |
111 | tardis/simulation/tests/test_simulation/test_plasma_estimates__output_energies__.h5 | M | M |
112 | tardis/simulation/tests/test_simulation/test_plasma_estimates__output_nus__.h5 | M | M |
113 | tardis/simulation/tests/test_simulation/test_plasma_estimates__t_radiative__.h5 | M | M |
114 | tardis/simulation/tests/test_simulation/test_plasma_state_iterations__iterations_electron_densities__.h5 | M | M |
115 | tardis/simulation/tests/test_simulation/test_plasma_state_iterations__iterations_t_inner__.h5 | M | M |
116 | tardis/simulation/tests/test_simulation/test_plasma_state_iterations__iterations_t_rad__.h5 | M | M |
117 | tardis/simulation/tests/test_simulation/test_plasma_state_iterations__iterations_w__.h5 | M | M |
118 | tardis/spectrum/formal_integral/tests/test_source_function/test_Jblue_lu.npy | • | • |
119 | tardis/spectrum/formal_integral/tests/test_source_function/test_Jred_lu.npy | • | • |
120 | tardis/spectrum/formal_integral/tests/test_source_function/test_att_S_ul.npy | • | • |
121 | tardis/spectrum/formal_integral/tests/test_source_function/test_e_dot_u.npy | • | • |
122 | tardis/spectrum/tests/test_spectrum_solver/test_spectrum_solver/TestSpectrumSolver.h5 | M | M |
123 | tardis/tests/test_tardis_full/test_transport_simple/TestTransportSimple.h5 | M | M |
124 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_j_blue_estimators__-1-downbranch__.npy | • | • |
125 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_j_blue_estimators__-1-macroatom__.npy | • | • |
126 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_j_blue_estimators__30-downbranch__.npy | • | • |
127 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_j_blue_estimators__30-macroatom__.npy | • | • |
128 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_simulation__-1-downbranch__.h5 | M | M |
129 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_simulation__-1-macroatom__.h5 | M | M |
130 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_simulation__30-downbranch__.h5 | M | M |
131 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_simulation__30-macroatom__.h5 | M | M |
132 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_spectrum__-1-downbranch__.npy | • | • |
133 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_spectrum__-1-macroatom__.npy | • | • |
134 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_spectrum__30-downbranch__.npy | • | • |
135 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_spectrum__30-macroatom__.npy | • | • |
136 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_spectrum_integrated__-1-downbranch__.npy | • | • |
137 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_spectrum_integrated__-1-macroatom__.npy | • | • |
138 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_spectrum_integrated__30-downbranch__.npy | • | • |
139 | tardis/tests/test_tardis_full_formal_integral/test_transport_simple_formal_integral/test_spectrum_integrated__30-macroatom__.npy | • | • |
140 | tardis/transport/montecarlo/tests/test_continuum/test_montecarlo_continuum.h5 | M | M |
141 | tardis/transport/montecarlo/tests/test_montecarlo_main_loop/test_montecarlo_main_loop.h5 | M | M |
142 | tardis/transport/montecarlo/tests/test_montecarlo_main_loop/test_montecarlo_main_loop_vpacket_log.h5 | M | M |
143 | tardis/transport/montecarlo/tests/test_packet_source/test_black_body_simple_source/test_bb_attributes.h5 | M | M |
144 | tardis/transport/montecarlo/tests/test_packet_source/test_black_body_simple_source/test_bb_energies.npy | • | • |
145 | tardis/transport/montecarlo/tests/test_packet_source/test_black_body_simple_source/test_bb_mus.npy | • | • |
146 | tardis/transport/montecarlo/tests/test_packet_source/test_black_body_simple_source/test_bb_nus.npy | • | • |
147 | tardis/transport/montecarlo/tests/test_packet_source/test_black_body_simple_source_rel/test_bb_attributes.h5 | M | M |
148 | tardis/transport/montecarlo/tests/test_packet_source/test_black_body_simple_source_rel/test_bb_energies.npy | • | • |
149 | tardis/transport/montecarlo/tests/test_packet_source/test_black_body_simple_source_rel/test_bb_mus.npy | • | • |
150 | tardis/transport/montecarlo/tests/test_packet_source/test_black_body_simple_source_rel/test_bb_nus.npy | • | • |
151 | tardis/transport/montecarlo/tests/test_rpacket_tracker/test_boundary_interactions.npy | • | • |
152 | tardis/transport/montecarlo/tests/test_weighted_packet_source/test_black_body_weighted_source/test_bb_attributes.h5 | M | M |
153 | tardis/transport/montecarlo/tests/test_weighted_packet_source/test_black_body_weighted_source/test_bb_energies.npy | • | • |
154 | tardis/transport/montecarlo/tests/test_weighted_packet_source/test_black_body_weighted_source/test_bb_mus.npy | • | • |
155 | tardis/transport/montecarlo/tests/test_weighted_packet_source/test_black_body_weighted_source/test_bb_nus.npy | • | • |
156 | tardis/visualization/tests/test_plot_util/test_plot_util/test_create_wavelength_mask__real__.h5 | M | M |
157 | tardis/visualization/tests/test_plot_util/test_plot_util/test_create_wavelength_mask__virtual__.h5 | M | M |
158 | tardis/visualization/tools/tests/test_lineid_plotter/test_lineid_plotter__wavelengths0-labels0-top__.png | • | • |
159 | tardis/visualization/tools/tests/test_lineid_plotter/test_lineid_plotter__wavelengths1-labels1-inside__.png | • | • |
160 | tardis/visualization/tools/tests/test_lineid_plotter/test_lineid_plotter__wavelengths2-labels2-along__.png | • | • |
161 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_mpl__plotter_generate_plot_mpl0__.h5 | M | M |
162 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_mpl__plotter_generate_plot_mpl1__.h5 | M | M |
163 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_mpl__plotter_generate_plot_mpl2__.h5 | M | M |
164 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_mpl__plotter_generate_plot_mpl3__.h5 | M | M |
165 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_mpl__plotter_generate_plot_mpl4__.h5 | M | M |
166 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_mpl__plotter_generate_plot_mpl5__.h5 | M | M |
167 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_mpl__plotter_generate_plot_mpl6__.h5 | M | M |
168 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_mpl__plotter_generate_plot_mpl7__.h5 | M | M |
169 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_ply__plotter_generate_plot_ply0__.h5 | M | M |
170 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_ply__plotter_generate_plot_ply1__.h5 | M | M |
171 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_ply__plotter_generate_plot_ply2__.h5 | M | M |
172 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_ply__plotter_generate_plot_ply3__.h5 | M | M |
173 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_ply__plotter_generate_plot_ply4__.h5 | M | M |
174 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_ply__plotter_generate_plot_ply5__.h5 | M | M |
175 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_ply__plotter_generate_plot_ply6__.h5 | M | M |
176 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_generate_plot_ply__plotter_generate_plot_ply7__.h5 | M | M |
177 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_mpl_image__plotter_generate_plot_mpl0__.png | • | • |
178 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_mpl_image__plotter_generate_plot_mpl1__.png | • | • |
179 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_mpl_image__plotter_generate_plot_mpl2__.png | • | • |
180 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_mpl_image__plotter_generate_plot_mpl3__.png | • | • |
181 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_mpl_image__plotter_generate_plot_mpl4__.png | • | • |
182 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_mpl_image__plotter_generate_plot_mpl5__.png | • | • |
183 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_mpl_image__plotter_generate_plot_mpl6__.png | • | • |
184 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_mpl_image__plotter_generate_plot_mpl7__.png | • | • |
185 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_parse_species_list___keep_colour__.npy | • | • |
186 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_parse_species_list___species_list__.npy | • | • |
187 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_parse_species_list___species_mapped__.npy | • | • |
188 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data0-new_bin_edges__.npy | • | • |
189 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data0-plot_colors__.npy | • | • |
190 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data0-plot_data__.npy | • | • |
191 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data1-new_bin_edges__.npy | • | • |
192 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data1-plot_colors__.npy | • | • |
193 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data1-plot_data__.npy | • | • |
194 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data2-new_bin_edges__.npy | • | • |
195 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data2-plot_colors__.npy | • | • |
196 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data2-plot_data__.npy | • | • |
197 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data3-new_bin_edges__.npy | • | • |
198 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data3-plot_colors__.npy | • | • |
199 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data3-plot_data__.npy | • | • |
200 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data4-new_bin_edges__.npy | • | • |
201 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data4-plot_colors__.npy | • | • |
202 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data4-plot_data__.npy | • | • |
203 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data5-new_bin_edges__.npy | • | • |
204 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data5-plot_colors__.npy | • | • |
205 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data5-plot_data__.npy | • | • |
206 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data6-new_bin_edges__.npy | • | • |
207 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data6-plot_colors__.npy | • | • |
208 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data6-plot_data__.npy | • | • |
209 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data7-new_bin_edges__.npy | • | • |
210 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data7-plot_colors__.npy | • | • |
211 | tardis/visualization/tools/tests/test_liv_plot/test_liv_plotter/test_prepare_plot_data__plotter_prepare_plot_data7-plot_data__.npy | • | • |
212 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data0__.h5 | M | M |
213 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data10__.h5 | M | M |
214 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data11__.h5 | M | M |
215 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data12__.h5 | M | M |
216 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data13__.h5 | M | M |
217 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data14__.h5 | M | M |
218 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data15__.h5 | M | M |
219 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data1__.h5 | M | M |
220 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data2__.h5 | M | M |
221 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data3__.h5 | M | M |
222 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data4__.h5 | M | M |
223 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data5__.h5 | M | M |
224 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data6__.h5 | M | M |
225 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data7__.h5 | M | M |
226 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data8__.h5 | M | M |
227 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_calculate_plotting_data__plotter_calculate_plotting_data9__.h5 | M | M |
228 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply0__.h5 | M | M |
229 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply10__.h5 | M | M |
230 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply11__.h5 | M | M |
231 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply12__.h5 | M | M |
232 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply13__.h5 | M | M |
233 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply14__.h5 | M | M |
234 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply15__.h5 | M | M |
235 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply1__.h5 | M | M |
236 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply2__.h5 | M | M |
237 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply3__.h5 | M | M |
238 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply4__.h5 | M | M |
239 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply5__.h5 | M | M |
240 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply6__.h5 | M | M |
241 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply7__.h5 | M | M |
242 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply8__.h5 | M | M |
243 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_generate_plot_mpl__plotter_generate_plot_ply9__.h5 | M | M |
244 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl0__.png | • | • |
245 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl10__.png | • | • |
246 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl11__.png | • | • |
247 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl12__.png | • | • |
248 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl13__.png | • | • |
249 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl14__.png | • | • |
250 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl15__.png | • | • |
251 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl1__.png | • | • |
252 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl2__.png | • | • |
253 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl3__.png | • | • |
254 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl4__.png | • | • |
255 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl5__.png | • | • |
256 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl6__.png | • | • |
257 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl7__.png | • | • |
258 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl8__.png | • | • |
259 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_mpl_image__plotter_generate_plot_mpl9__.png | • | • |
260 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_parse_species_list___full_species_list__.npy | • | • |
261 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_parse_species_list___keep_colour__.npy | • | • |
262 | tardis/visualization/tools/tests/test_sdec_plot/test_sdec_plotter/test_parse_species_list___species_list__.npy | • | • |
263 | tardis/workflows/high_energy/tests/test_tardis_he_workflow/test_he_workflow_all_outputs_regression__escape_energy__.h5 | • | • |
264 | tardis/workflows/high_energy/tests/test_tardis_he_workflow/test_he_workflow_all_outputs_regression__escape_energy_cosi__.h5 | • | • |
265 | tardis/workflows/high_energy/tests/test_tardis_he_workflow/test_he_workflow_all_outputs_regression__gamma_ray_deposited_energy__.h5 | • | • |
266 | tardis/workflows/high_energy/tests/test_tardis_he_workflow/test_he_workflow_all_outputs_regression__packets_escaped__.h5 | • | • |
267 | tardis/workflows/high_energy/tests/test_tardis_he_workflow/test_he_workflow_all_outputs_regression__positron_energy__.h5 | • | • |
268 | tardis/workflows/high_energy/tests/test_tardis_he_workflow/test_he_workflow_all_outputs_regression__total_deposited_energy__.h5 | • | • |
269 | tardis/workflows/tests/test_workflows/test_v_inner_solver_workflow__iterations_mean_optical_depth__.h5 | • | • |
270 | tardis/workflows/tests/test_workflows/test_v_inner_solver_workflow__iterations_t_inner__.h5 | • | • |
271 | tardis/workflows/tests/test_workflows/test_v_inner_solver_workflow__iterations_t_rad__.h5 | • | • |
272 | tardis/workflows/tests/test_workflows/test_v_inner_solver_workflow__iterations_v_inner_boundary__.h5 | • | • |
273 | tardis/workflows/tests/test_workflows/test_v_inner_solver_workflow__iterations_w__.h5 | • | • |
274 | test_composition/test_calculate_cell_masses.npy | • | • |
275 | test_composition/test_calculate_elemental_cell_masses.npy | • | • |
276 | test_composition/test_calculate_mass_fraction_at_time__time_explosion0__.h5 | • | • |
277 | test_composition/test_calculate_mass_fraction_at_time__time_explosion1__.h5 | • | • |
278 | test_composition/test_elemental_mass_fraction.h5 | • | • |
279 | test_composition/test_elemental_number_density.h5 | • | • |
280 | test_composition/test_elemental_number_density.npy | • | • |
281 | testdata/MESA_STIR_MESA_SNEC/input/profile8.data.iso.dat | • | • |
282 | testdata/MESA_STIR_MESA_SNEC/output/C_init_frac.dat | • | • |
283 | testdata/MESA_STIR_MESA_SNEC/output/E_shell.xg | • | • |
284 | testdata/MESA_STIR_MESA_SNEC/output/H_1.xg | • | • |
285 | testdata/MESA_STIR_MESA_SNEC/output/H_2.xg | • | • |
286 | testdata/MESA_STIR_MESA_SNEC/output/H_init_frac.dat | • | • |
287 | testdata/MESA_STIR_MESA_SNEC/output/He_1.xg | • | • |
288 | testdata/MESA_STIR_MESA_SNEC/output/He_2.xg | • | • |
289 | testdata/MESA_STIR_MESA_SNEC/output/He_3.xg | • | • |
290 | testdata/MESA_STIR_MESA_SNEC/output/He_init_frac.dat | • | • |
291 | testdata/MESA_STIR_MESA_SNEC/output/Ni_deposit_function.xg | • | • |
292 | testdata/MESA_STIR_MESA_SNEC/output/Ni_init_frac.dat | • | • |
293 | testdata/MESA_STIR_MESA_SNEC/output/Ni_total_luminosity.dat | • | • |
294 | testdata/MESA_STIR_MESA_SNEC/output/O_init_frac.dat | • | • |
295 | testdata/MESA_STIR_MESA_SNEC/output/Q.xg | • | • |
296 | testdata/MESA_STIR_MESA_SNEC/output/T_eff.dat | • | • |
297 | testdata/MESA_STIR_MESA_SNEC/output/conservation.dat | • | • |
298 | testdata/MESA_STIR_MESA_SNEC/output/cs2.xg | • | • |
299 | testdata/MESA_STIR_MESA_SNEC/output/delta_mass_initial.dat | • | • |
300 | testdata/MESA_STIR_MESA_SNEC/output/delta_time.xg | • | • |
301 | testdata/MESA_STIR_MESA_SNEC/output/density_profile.dat | • | • |
302 | testdata/MESA_STIR_MESA_SNEC/output/eps.xg | • | • |
303 | testdata/MESA_STIR_MESA_SNEC/output/free_electron_frac.xg | • | • |
304 | testdata/MESA_STIR_MESA_SNEC/output/index_lumshell.dat | • | • |
305 | testdata/MESA_STIR_MESA_SNEC/output/index_photo.dat | • | • |
306 | testdata/MESA_STIR_MESA_SNEC/output/info.dat | • | • |
307 | testdata/MESA_STIR_MESA_SNEC/output/kappa.xg | • | • |
308 | testdata/MESA_STIR_MESA_SNEC/output/kappa_table.xg | • | • |
309 | testdata/MESA_STIR_MESA_SNEC/output/logR_op.xg | • | • |
310 | testdata/MESA_STIR_MESA_SNEC/output/logT.xg | • | • |
311 | testdata/MESA_STIR_MESA_SNEC/output/lum.xg | • | • |
312 | testdata/MESA_STIR_MESA_SNEC/output/lum_observed.dat | • | • |
313 | testdata/MESA_STIR_MESA_SNEC/output/lum_photo.dat | • | • |
314 | testdata/MESA_STIR_MESA_SNEC/output/magnitudes.dat | • | • |
315 | testdata/MESA_STIR_MESA_SNEC/output/mass.xg | • | • |
316 | testdata/MESA_STIR_MESA_SNEC/output/mass_initial.dat | • | • |
317 | testdata/MESA_STIR_MESA_SNEC/output/mass_lumshell.dat | • | • |
318 | testdata/MESA_STIR_MESA_SNEC/output/mass_photo.dat | • | • |
319 | testdata/MESA_STIR_MESA_SNEC/output/metallicity_init.dat | • | • |
320 | testdata/MESA_STIR_MESA_SNEC/output/opacity_corrupted.dat | • | • |
321 | testdata/MESA_STIR_MESA_SNEC/output/opacity_floor.dat | • | • |
322 | testdata/MESA_STIR_MESA_SNEC/output/p_rad.xg | • | • |
323 | testdata/MESA_STIR_MESA_SNEC/output/photosphere_tracer.xg | • | • |
324 | testdata/MESA_STIR_MESA_SNEC/output/press.xg | • | • |
325 | testdata/MESA_STIR_MESA_SNEC/output/press_initial.dat | • | • |
326 | testdata/MESA_STIR_MESA_SNEC/output/rad_initial.dat | • | • |
327 | testdata/MESA_STIR_MESA_SNEC/output/rad_photo.dat | • | • |
328 | testdata/MESA_STIR_MESA_SNEC/output/radius.xg | • | • |
329 | testdata/MESA_STIR_MESA_SNEC/output/rho.xg | • | • |
330 | testdata/MESA_STIR_MESA_SNEC/output/rho_initial.dat | • | • |
331 | testdata/MESA_STIR_MESA_SNEC/output/tau.xg | • | • |
332 | testdata/MESA_STIR_MESA_SNEC/output/temp.xg | • | • |
333 | testdata/MESA_STIR_MESA_SNEC/output/time_diff.xg | • | • |
334 | testdata/MESA_STIR_MESA_SNEC/output/time_exp.xg | • | • |
335 | testdata/MESA_STIR_MESA_SNEC/output/vel.xg | • | • |
336 | testdata/MESA_STIR_MESA_SNEC/output/vel_photo.dat | • | • |
337 | testdata/MESA_STIR_MESA_SNEC/output/velshock_index.dat | • | • |
338 | testdata/MESA_STIR_MESA_SNEC/output/ye.xg | • | • |
Cleanup: Reset False Commits¶
Warning: This resets history, proceed with caution.
If you want to clean up false commits generated after running pytest, use git reset --hard upstream/master