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
import logging
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)
Logging Configuration
[3]:
logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO)
Setup Configuration
[ ]:
# 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
commitsfrom configProvide the value of
nin configTo forcely recreate new enviornment each time even when enviornment already exist, do
force_recreateasTrueEither provide entire “tardis” module or selective path like “tardis/spectrum/tests/test_spectrum_solver.py” in
test_pathProvide path to default current enviornment in
default_curr_envIf you want to use default current enviornment only without creating new enviornment each time, do
use_new_envsasFalse.
[ ]:
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: 6a33cdd4c32a2715ee6c8e7e29c999f580eaadcf
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:Executing command: conda env list
INFO:tardisbase.testing.regression_comparison.run_tests:Command completed successfully.
INFO:tardisbase.testing.regression_comparison.run_tests:Environment tardis-test-701bb189 exists, removing it for recreation...
INFO:tardisbase.testing.regression_comparison.run_tests:Executing command: conda env remove --name tardis-test-701bb189 -y
INFO:tardisbase.testing.regression_comparison.run_tests:Command completed successfully.
INFO:tardisbase.testing.regression_comparison.run_tests:Creating conda environment
INFO:tardisbase.testing.regression_comparison.run_tests:Executing command: conda create --name tardis-test-701bb189 --file /tmp/tmpjwl4tgcq.lock -y
INFO:tardisbase.testing.regression_comparison.run_tests:Command completed successfully.
INFO:tardisbase.testing.regression_comparison.run_tests:Installing TARDIS with all extras ['viz', 'tardisbase']
INFO:tardisbase.testing.regression_comparison.run_tests:Executing command: conda run -n tardis-test-701bb189 pip install -e /home/riddhigangbhoj/tardis-work/tardis[viz,tardisbase]
INFO:tardisbase.testing.regression_comparison.run_tests:Command completed successfully.
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
WARNING:tardisbase.testing.regression_comparison.run_tests:Return code: 1
ERROR: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, metadata-3.1.1, cov-6.1.1, anyio-4.9.0, 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 0x74fb3cc7e0d0>
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 0x74fb7977bce0>))
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 0x74fae41f21a0>
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 0x74fb7977bce0>))
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 0x74fae41f29c0>
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 0x74fb7977bce0>))
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 0x74fb4d76f0e0>
@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 0x74fb4d953e30>
opacity_state = <tardis.plasma.base.BasePlasma object at 0x74fb4d76cd70>
transport = <tardis.transport.montecarlo.base.MonteCarloTransportSolver object at 0x74fb4d76c6e0>
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 792.63s (0:13:12) =
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:Executing command: conda env list
INFO:tardisbase.testing.regression_comparison.run_tests:Command completed successfully.
INFO:tardisbase.testing.regression_comparison.run_tests:Environment tardis-test-ce43cec0 exists, removing it for recreation...
INFO:tardisbase.testing.regression_comparison.run_tests:Executing command: conda env remove --name tardis-test-ce43cec0 -y
INFO:tardisbase.testing.regression_comparison.run_tests:Command completed successfully.
INFO:tardisbase.testing.regression_comparison.run_tests:Creating conda environment
INFO:tardisbase.testing.regression_comparison.run_tests:Executing command: conda create --name tardis-test-ce43cec0 --file /tmp/tmpy6i09cts.lock -y
INFO:tardisbase.testing.regression_comparison.run_tests:Command completed successfully.
INFO:tardisbase.testing.regression_comparison.run_tests:Installing TARDIS with all extras ['viz', 'tardisbase']
INFO:tardisbase.testing.regression_comparison.run_tests:Executing command: conda run -n tardis-test-ce43cec0 pip install -e /home/riddhigangbhoj/tardis-work/tardis[viz,tardisbase]
INFO:tardisbase.testing.regression_comparison.run_tests:Command completed successfully.
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
WARNING:tardisbase.testing.regression_comparison.run_tests:Return code: 1
ERROR: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: html-4.1.1, anyio-4.9.0, doctestplus-1.4.0, cov-6.1.1, metadata-3.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-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 0x7249f890a0d0>
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 0x724a280dff60>))
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 0x7249f4a021a0>
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 0x724a280dff60>))
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 0x7249f4a029c0>
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 0x724a280dff60>))
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 0x724a056330e0>
@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 0x724a09f820f0>
opacity_state = <tardis.plasma.base.BasePlasma object at 0x724a05630d70>
transport = <tardis.transport.montecarlo.base.MonteCarloTransportSolver object at 0x724a056306e0>
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 792.75s (0:13:12) =
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:Executing command: conda env list
INFO:tardisbase.testing.regression_comparison.run_tests:Command completed successfully.
INFO:tardisbase.testing.regression_comparison.run_tests:Environment tardis-test-fa4c4ea9 exists, removing it for recreation...
INFO:tardisbase.testing.regression_comparison.run_tests:Executing command: conda env remove --name tardis-test-fa4c4ea9 -y
INFO:tardisbase.testing.regression_comparison.run_tests:Command completed successfully.
INFO:tardisbase.testing.regression_comparison.run_tests:Creating conda environment
INFO:tardisbase.testing.regression_comparison.run_tests:Executing command: conda create --name tardis-test-fa4c4ea9 --file /tmp/tmp8xfcs2p6.lock -y
INFO:tardisbase.testing.regression_comparison.run_tests:Command completed successfully.
INFO:tardisbase.testing.regression_comparison.run_tests:Installing TARDIS with all extras ['viz', 'tardisbase']
INFO:tardisbase.testing.regression_comparison.run_tests:Executing command: conda run -n tardis-test-fa4c4ea9 pip install -e /home/riddhigangbhoj/tardis-work/tardis[viz,tardisbase]
INFO:tardisbase.testing.regression_comparison.run_tests:Command completed successfully.
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
WARNING:tardisbase.testing.regression_comparison.run_tests:Return code: 1
ERROR: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, metadata-3.1.1, anyio-4.9.0, doctestplus-1.4.0, 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 0x7581727b5f30>
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 0x7581b02ec040>))
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 0x7580af875160>
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 0x7581b02ec040>))
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 0x7580af875640>
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 0x7581b02ec040>))
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 0x758183bb70e0>
@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 0x758183c01c70>
opacity_state = <tardis.plasma.base.BasePlasma object at 0x758183bb4d70>
transport = <tardis.transport.montecarlo.base.MonteCarloTransportSolver object at 0x758183bb46e0>
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.90s (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:e1656ceee95e5417c09f26a2cfe3479a404672fd
INFO:tardisbase.testing.regression_comparison.run_tests:32c5e050bc9ffb2d62249f76606727ac402fad2a
INFO:tardisbase.testing.regression_comparison.run_tests:8ee899a8dfd498a433871d1cba7ca64b146e25b2
Case 2: Test specific TARDIS commits¶
Important Note:
Comment out
nfrom configcommits_inputis list ofcommitshashes 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_recreateasTrueEither provide entire “tardis” module or selective path like “tardis/spectrum/tests/test_spectrum_solver.py” in
test_pathProvide path to default current enviornment in
default_curr_envIf you want to use default current enviornment only without creating new enviornment each time, do
use_new_envsasFalse.
[ ]:
# 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
nto 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_extensionsto any type of file type to filter specific files.Choose
compare_functionof 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).
[ ]:
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¶
[ ]:
visualizer.analyze_commits()
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