-
-
Notifications
You must be signed in to change notification settings - Fork 406
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simulation solver workflow #2730
Simulation solver workflow #2730
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2730 +/- ##
==========================================
- Coverage 70.87% 69.36% -1.52%
==========================================
Files 209 212 +3
Lines 15589 15839 +250
==========================================
- Hits 11049 10987 -62
- Misses 4540 4852 +312 ☔ View full report in Codecov by Sentry. |
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
*beep* *bop* Hi, human. The Click here to see your results. |
|
||
|
||
class StandardSimulationSolver: | ||
def __init__(self, configuration): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we want this to replace the full run_tardis etc it should probably be able to take in a configuration path and convert it to a configuration object. Probably as the only option.
def solve_simulation_state( | ||
self, | ||
estimated_values, | ||
): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given that we are in the simulation solver class, perhaps this should just be in solve()
if u.isclose( | ||
configuration.supernova.luminosity_wavelength_start, 0 * u.angstrom | ||
): | ||
self.luminosity_nu_end = np.inf * u.Hz |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a mess that should be handled by the configuration
): | ||
final_iteration_packet_count = self.real_packet_count | ||
|
||
self.final_iteration_packet_count = int(final_iteration_packet_count) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a mess that should be handled by the configuration
).to(u.Hz) | ||
|
||
# montecarlo settings | ||
self.total_iterations = int(configuration.montecarlo.iterations) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Casting to int should be handled by the configuration parser
) | ||
|
||
# spectrum settings | ||
self.integrated_spectrum_settings = configuration.spectrum.integrated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is weird.
current_value = getattr(self.simulation_state, key) | ||
estimated_value = estimated_values[key] | ||
no_of_shells = ( | ||
self.simulation_state.no_of_shells if key != "t_inner" else 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This gets a bit messy due to the "special" status of t_inner in the convergence and configuration. Probably unavoidable without extremely rigid requirements on the config.
"t_inner" | ||
] | ||
|
||
def solve_plasma( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This mess should be cleaned up with plasma restructures
iteration=self.completed_iterations, | ||
) | ||
|
||
virtual_packet_energies = self.transport_solver.run( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be .solve
|
||
return transport_state, virtual_packet_energies | ||
|
||
def initialize_spectrum_solver( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a mess and should probably be handled by the spectrum solver itself.
transport_state, virtual_packet_energies = self.solve_montecarlo( | ||
self.final_iteration_packet_count, self.virtual_packet_count | ||
) | ||
self.initialize_spectrum_solver( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Weird to be init at the end.
*beep* *bop* 41 W293 [*] Blank line contains whitespace
24 G004 [ ] Logging statement uses f-string
24 W291 [*] Trailing whitespace
23 F401 [*] `astropy.units` imported but unused
20 E999 [ ] SyntaxError: Expected a statement
18 UP008 [*] Use `super()` instead of `super(__class__, self)`
14 I001 [*] Import block is un-sorted or un-formatted
10 RET505 [ ] Unnecessary `elif` after `return` statement
6 E402 [ ] Module level import not at top of cell
6 D202 [*] No blank lines allowed after function docstring (found 1)
5 E722 [ ] Do not use bare `except`
5 UP032 [*] Use f-string instead of `format` call
4 E701 [ ] Multiple statements on one line (colon)
4 W605 [*] Invalid escape sequence: `\A`
3 RET506 [ ] Unnecessary `else` after `raise` statement
3 E712 [*] Avoid equality comparisons to `True`; use `if latex_label:` for truth checks
3 E902 [ ] No such file or directory (os error 2)
3 F405 [ ] `HiddenPlasmaProperty` may be undefined, or defined from star imports
3 UP015 [*] Unnecessary open mode parameters
2 C416 [*] Unnecessary `list` comprehension (rewrite using `list()`)
2 PIE808 [*] Unnecessary `start` argument in `range`
2 FLY002 [*] Consider `f"{hash_string}_{nlte_prop}"` instead of string join
2 W292 [*] No newline at end of file
2 F403 [ ] `from tardis.plasma.properties.base import *` used; unable to detect undefined names
2 F811 [*] Redefinition of unused `npt` from line 2
1 S605 [ ] Starting a process with a shell: seems safe, but may be changed in the future; consider rewriting without `shell`
1 G001 [ ] Logging statement uses `str.format`
1 F821 [ ] Undefined name `s1`
1 UP004 [*] Class `NLTEExcitationData` inherits from `object`
1 UP034 [*] Avoid extraneous parentheses
1 TRY300 [ ] Consider moving this statement to an `else` block
Complete output(might be large): .github/workflows/codespell.yml:3:4: E999 SyntaxError: Expected an expression
.github/workflows/codespell.yml:18:11: E701 Multiple statements on one line (colon)
.github/workflows/codespell.yml:39:26: W292 [*] No newline at end of file
.github/workflows/codestyle.yml:7:4: E999 SyntaxError: Expected an expression
.github/workflows/codestyle.yml:25:11: E701 Multiple statements on one line (colon)
.github/workflows/codestyle.yml:30:11: E701 Multiple statements on one line (colon)
.github/workflows/codestyle.yml:46:8: W291 [*] Trailing whitespace
.github/workflows/codestyle.yml:63:1: W293 [*] Blank line contains whitespace
.github/workflows/codestyle.yml:65:15: W291 [*] Trailing whitespace
.github/workflows/codestyle.yml:69:1: W293 [*] Blank line contains whitespace
.github/workflows/codestyle.yml:78:1: W293 [*] Blank line contains whitespace
.github/workflows/codestyle.yml:82:1: W293 [*] Blank line contains whitespace
.github/workflows/codestyle.yml:90:1: W293 [*] Blank line contains whitespace
.github/workflows/codestyle.yml:102:26: W291 [*] Trailing whitespace
.github/workflows/codestyle.yml:106:1: W293 [*] Blank line contains whitespace
.github/workflows/codestyle.yml:114:1: W293 [*] Blank line contains whitespace
.github/workflows/codestyle.yml:125:22: W291 [*] Trailing whitespace
.github/workflows/codestyle.yml:126:89: W291 [*] Trailing whitespace
.github/workflows/codestyle.yml:128:84: W291 [*] Trailing whitespace
.github/workflows/codestyle.yml:144:1: W293 [*] Blank line contains whitespace
.github/workflows/codestyle.yml:148:1: W293 [*] Blank line contains whitespace
.github/workflows/release.yml:7:4: E999 SyntaxError: Expected an expression
.github/workflows/release.yml:16:7: E701 Multiple statements on one line (colon)
.github/workflows/release.yml:57:1: W293 [*] Blank line contains whitespace
.github/workflows/release.yml:59:1: W293 [*] Blank line contains whitespace
.github/workflows/stardis-tests.yml:3:4: E999 SyntaxError: Expected an expression
.github/workflows/stardis-tests.yml:22:1: W293 [*] Blank line contains whitespace
.github/workflows/stardis-tests.yml:39:11: W291 [*] Trailing whitespace
.github/workflows/stardis-tests.yml:51:1: W293 [*] Blank line contains whitespace
.github/workflows/stardis-tests.yml:58:1: W293 [*] Blank line contains whitespace
.github/workflows/stardis-tests.yml:64:1: W293 [*] Blank line contains whitespace
.github/workflows/stardis-tests.yml:69:1: W293 [*] Blank line contains whitespace
.github/workflows/stardis-tests.yml:75:32: W291 [*] Trailing whitespace
.github/workflows/stardis-tests.yml:76:20: W292 [*] No newline at end of file
.mailmap:1:38: E999 SyntaxError: Expected an expression
README_TEMPLATE.rst:1:1: E999 SyntaxError: Expected a statement
conda-linux-64.lock:5:1: E999 SyntaxError: Expected class, function definition or async function definition after decorator
conda-lock.yml:14:10: E999 SyntaxError: Expected an expression
conda-osx-64.lock:5:1: E999 SyntaxError: Expected class, function definition or async function definition after decorator
conda-osx-arm64.lock:5:1: E999 SyntaxError: Expected class, function definition or async function definition after decorator
docs/_static/ruff_badge.json:1:1: E902 No such file or directory (os error 2)
docs/contributing/development/code_quality.rst:1:1: E999 SyntaxError: Expected an expression
docs/contributing/development/developer_faq.rst:1:1: E999 SyntaxError: Expected an expression
docs/contributing/development/developer_faq.rst:13:40: W291 [*] Trailing whitespace
docs/contributing/development/known_projects.inc:1:1: E999 SyntaxError: Expected a statement
docs/contributing/tools/hdf_writer.ipynb:cell 3:9:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/hdf_writer.ipynb:cell 8:3:11: E999 SyntaxError: Simple statements must be separated by newlines or semicolons
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:1:1: I001 [*] Import block is un-sorted or un-formatted
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:1:8: F401 [*] `tardis` imported but unused
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:5:38: F401 [*] `tardis.io.atom_data.base.AtomData` imported but unused
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:7:20: F811 [*] Redefinition of unused `run_tardis` from cell 2, line 2
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:11:1: E402 Module level import not at top of cell
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:11:1: I001 [*] Import block is un-sorted or un-formatted
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:12:1: E402 Module level import not at top of cell
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:13:1: E402 Module level import not at top of cell
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:13:30: F401 [*] `astropy.units` imported but unused
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:14:1: E402 Module level import not at top of cell
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:15:1: E402 Module level import not at top of cell
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 2:16:1: E402 Module level import not at top of cell
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:2:5: D202 [*] No blank lines allowed after function docstring (found 1)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:8:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:12:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:17:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:22:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:24:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:26:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:32:21: W291 [*] Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:35:5: D202 [*] No blank lines allowed after function docstring (found 1)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:37:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:44:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:54:5: D202 [*] No blank lines allowed after function docstring (found 1)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:57:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:63:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:68:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 4:75:5: RET505 Unnecessary `elif` after `return` statement
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:1:32: W291 [*] Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:2:35: W291 [*] Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:3:37: W291 [*] Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:4:41: W291 [*] Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:5:31: W291 [*] Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:6:31: W291 [*] Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:8:5: D202 [*] No blank lines allowed after function docstring (found 1)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:11:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:13:112: W291 Trailing whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:15:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:49:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:54:33: UP032 [*] Use f-string instead of `format` call
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:56:33: UP032 [*] Use f-string instead of `format` call
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 7:57:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 8:9:6: UP015 [*] Unnecessary open mode parameters
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 8:12:6: UP015 [*] Unnecessary open mode parameters
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 8:16:19: C416 Unnecessary `list` comprehension (rewrite using `list()`)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 8:17:23: C416 Unnecessary `list` comprehension (rewrite using `list()`)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 9:2:5: D202 [*] No blank lines allowed after function docstring (found 1)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 9:4:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 9:11:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 10:2:5: D202 [*] No blank lines allowed after function docstring (found 1)
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 10:4:1: W293 Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 10:18:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 10:30:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 10:44:1: W293 [*] Blank line contains whitespace
docs/contributing/tools/profiling/tardis_profiling_threads.ipynb:cell 10:45:43: UP032 [*] Use f-string instead of `format` call
docs/index.rst:1:1: E999 SyntaxError: Expected a statement
docs/index.rst:21:51: W291 [*] Trailing whitespace
docs/index.rst:43:76: W291 [*] Trailing whitespace
docs/index.rst:44:64: W291 [*] Trailing whitespace
docs/index.rst:45:71: W291 [*] Trailing whitespace
docs/index.rst:46:69: W291 [*] Trailing whitespace
docs/index.rst:47:68: W291 [*] Trailing whitespace
docs/index.rst:66:1: W293 [*] Blank line contains whitespace
docs/index.rst:79:1: W293 [*] Blank line contains whitespace
docs/index.rst:102:1: W293 [*] Blank line contains whitespace
docs/io/configuration/components/models/converters/arepo_to_tardis.ipynb:cell 6:1:1: I001 [*] Import block is un-sorted or un-formatted
docs/io/configuration/components/models/converters/arepo_to_tardis.ipynb:cell 6:1:17: F401 [*] `numpy` imported but unused
docs/io/configuration/components/models/converters/arepo_to_tardis.ipynb:cell 6:4:8: F401 [*] `json` imported but unused
docs/io/configuration/components/models/csvy_full_rad.csvy:1:4: E999 SyntaxError: Expected an expression
docs/physics/tardisgamma/index.rst:1:1: E902 No such file or directory (os error 2)
docs/physics/tardisgamma/packetinitialization.rst:1:1: E902 No such file or directory (os error 2)
docs/resources/code_comparison/toy_models/blondin_compare.csvy:1:4: E999 SyntaxError: Expected an expression
docs/resources/code_comparison/toy_models/blondin_compare_01.csvy:1:4: E999 SyntaxError: Expected an expression
docs/resources/code_comparison/toy_models/blondin_compare_06.csvy:1:4: E999 SyntaxError: Expected an expression
docs/workflows/simple_workflow.ipynb:cell 7:10:26: W605 [*] Invalid escape sequence: `\A`
docs/workflows/simple_workflow.ipynb:cell 7:11:40: W605 [*] Invalid escape sequence: `\A`
docs/workflows/standard_workflow.ipynb:cell 7:10:26: W605 [*] Invalid escape sequence: `\A`
docs/workflows/standard_workflow.ipynb:cell 7:11:40: W605 [*] Invalid escape sequence: `\A`
tardis/energy_input/util.py:383:5: RET505 Unnecessary `elif` after `return` statement
tardis/io/model/parse_radiation_field_configuration.py:118:13: G004 Logging statement uses f-string
tardis/model/matter/composition.py:206:9: RET505 Unnecessary `else` after `return` statement
tardis/plasma/__init__.py:2:63: W291 Trailing whitespace
tardis/plasma/__init__.py:5:32: F401 `tardis.plasma.base.BasePlasma` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
tardis/plasma/base.py:11:1: F403 `from tardis.plasma.properties.base import *` used; unable to detect undefined names
tardis/plasma/base.py:45:9: RET505 Unnecessary `else` after `return` statement
tardis/plasma/base.py:46:18: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/base.py:53:9: RET506 Unnecessary `else` after `raise` statement
tardis/plasma/base.py:54:18: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/base.py:111:17: E722 Do not use bare `except`
tardis/plasma/base.py:144:44: F405 `PreviousIterationProperty` may be undefined, or defined from star imports
tardis/plasma/base.py:153:46: F405 `Input` may be undefined, or defined from star imports
tardis/plasma/base.py:273:13: G004 Logging statement uses f-string
tardis/plasma/base.py:296:20: F401 [*] `pygraphviz` imported but unused
tardis/plasma/base.py:297:9: E722 Do not use bare `except`
tardis/plasma/base.py:306:16: E712 Avoid equality comparisons to `True`; use `if latex_label:` for truth checks
tardis/plasma/base.py:327:16: E712 Avoid equality comparisons to `True`; use `if latex_label:` for truth checks
tardis/plasma/base.py:333:16: E712 Avoid equality comparisons to `True`; use `if latex_label:` for truth checks
tardis/plasma/base.py:383:9: E722 Do not use bare `except`
tardis/plasma/base.py:429:35: F405 `HiddenPlasmaProperty` may be undefined, or defined from star imports
tardis/plasma/base.py:447:29: E722 Do not use bare `except`
tardis/plasma/properties/atomic.py:6:28: F401 [*] `radioactivedecay` imported but unused
tardis/plasma/properties/atomic.py:11:33: F401 [*] `tardis.constants` imported but unused
tardis/plasma/properties/atomic.py:379:17: UP032 [*] Use f-string instead of `format` call
tardis/plasma/properties/atomic.py:558:9: RET505 Unnecessary `else` after `return` statement
tardis/plasma/properties/atomic.py:589:9: RET505 Unnecessary `else` after `return` statement
tardis/plasma/properties/atomic.py:602:17: G004 Logging statement uses f-string
tardis/plasma/properties/atomic.py:643:9: RET505 Unnecessary `else` after `return` statement
tardis/plasma/properties/base.py:78:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/base.py:117:25: G004 Logging statement uses f-string
tardis/plasma/properties/base.py:135:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/base.py:163:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/base.py:178:9: RET505 Unnecessary `else` after `return` statement
tardis/plasma/properties/continuum_processes/__init__.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/properties/continuum_processes/__init__.py:2:5: F401 `tardis.plasma.properties.continuum_processes.photo_ion_rate_coeff.PhotoIonRateCoeff` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
tardis/plasma/properties/continuum_processes/__init__.py:4:1: F403 `from tardis.plasma.properties.continuum_processes.rates import *` used; unable to detect undefined names
tardis/plasma/properties/continuum_processes/__init__.py:6:5: F401 `tardis.plasma.properties.continuum_processes.recomb_rate_coeff.StimRecombRateFactor` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
tardis/plasma/properties/continuum_processes/__init__.py:7:5: F401 `tardis.plasma.properties.continuum_processes.recomb_rate_coeff.SpontRecombRateCoeff` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
tardis/plasma/properties/continuum_processes/__init__.py:8:5: F401 `tardis.plasma.properties.continuum_processes.recomb_rate_coeff.StimRecombRateCoeff` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
tardis/plasma/properties/continuum_processes/fast_array_util.py:3:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/properties/general.py:4:30: F401 [*] `astropy.units` imported but unused
tardis/plasma/properties/general.py:33:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/general.py:74:21: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/general.py:118:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/helium_nlte.py:53:13: UP034 [*] Avoid extraneous parentheses
tardis/plasma/properties/helium_nlte.py:130:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/helium_nlte.py:182:21: E722 Do not use bare `except`
tardis/plasma/properties/helium_nlte.py:185:29: G004 Logging statement uses f-string
tardis/plasma/properties/helium_nlte.py:218:23: S605 Starting a process with a shell: seems safe, but may be changed in the future; consider rewriting without `shell`
tardis/plasma/properties/helium_nlte.py:235:18: UP015 [*] Unnecessary open mode parameters
tardis/plasma/properties/helium_nlte.py:238:36: PIE808 [*] Unnecessary `start` argument in `range`
tardis/plasma/properties/helium_nlte.py:261:69: F821 Undefined name `s1`
tardis/plasma/properties/ion_population.py:206:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/ion_population.py:291:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/ion_population.py:370:25: G004 Logging statement uses f-string
tardis/plasma/properties/ion_population.py:424:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/ion_population.py:495:25: G004 Logging statement uses f-string
tardis/plasma/properties/level_population.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/properties/level_population.py:28:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/nlte.py:2:8: F401 [*] `os` imported but unused
tardis/plasma/properties/nlte.py:4:17: F401 [*] `numpy` imported but unused
tardis/plasma/properties/nlte.py:10:53: F401 [*] `tardis.plasma.properties.ion_population.PhiSahaNebular` imported but unused
tardis/plasma/properties/nlte_excitation_data.py:8:26: UP004 [*] Class `NLTEExcitationData` inherits from `object`
tardis/plasma/properties/nlte_rate_equation_solver.py:302:25: UP032 [*] Use f-string instead of `format` call
tardis/plasma/properties/nlte_rate_equation_solver.py:302:25: G001 Logging statement uses `str.format`
tardis/plasma/properties/nlte_rate_equation_solver.py:311:25: G004 Logging statement uses f-string
tardis/plasma/properties/partition_function.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/properties/partition_function.py:145:9: RET505 Unnecessary `elif` after `return` statement
tardis/plasma/properties/partition_function.py:161:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/partition_function.py:181:25: G004 Logging statement uses f-string
tardis/plasma/properties/partition_function.py:192:21: G004 Logging statement uses f-string
tardis/plasma/properties/partition_function.py:199:21: G004 Logging statement uses f-string
tardis/plasma/properties/partition_function.py:252:21: RET506 Unnecessary `else` after `raise` statement
tardis/plasma/properties/partition_function.py:395:21: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/plasma_input.py:2:5: F401 [*] `tardis.plasma.properties.base.ArrayInput` imported but unused
tardis/plasma/properties/radiative_properties.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/properties/radiative_properties.py:42:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/radiative_properties.py:178:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/plasma/properties/rate_matrix_index.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/tests/test_complete_plasmas.py:149:27: FLY002 Consider `f"{hash_string}_{prop}"` instead of string join
tardis/plasma/tests/test_complete_plasmas.py:154:39: FLY002 Consider `f"{hash_string}_{nlte_prop}"` instead of string join
tardis/plasma/tests/test_hdf_plasma.py:1:17: F401 [*] `numpy` imported but unused
tardis/plasma/tests/test_nlte_excitation.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/tests/test_nlte_excitation.py:5:27: F401 [*] `numpy.testing.assert_allclose` imported but unused
tardis/plasma/tests/test_nlte_solver.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/plasma/tests/test_nlte_solver.py:5:25: F811 [*] Redefinition of unused `npt` from line 2
tardis/plasma/tests/test_plasma_continuum.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/simulation/base.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/simulation/base.py:155:14: UP008 Use `super()` instead of `super(__class__, self)`
tardis/simulation/base.py:199:13: RET506 Unnecessary `else` after `raise` statement
tardis/simulation/base.py:263:17: G004 Logging statement uses f-string
tardis/simulation/base.py:270:9: RET505 Unnecessary `else` after `return` statement
tardis/simulation/base.py:451:13: G004 Logging statement uses f-string
tardis/simulation/base.py:549:13: G004 Logging statement uses f-string
tardis/simulation/base.py:656:25: G004 Logging statement uses f-string
tardis/simulation/base.py:659:13: G004 Logging statement uses f-string
tardis/simulation/base.py:664:13: G004 Logging statement uses f-string
tardis/simulation/base.py:715:13: TRY300 Consider moving this statement to an `else` block
tardis/simulation/base.py:717:26: G004 Logging statement uses f-string
tardis/visualization/widgets/shell_info.py:1:1: I001 [*] Import block is un-sorted or un-formatted
tardis/visualization/widgets/shell_info.py:1:25: F401 [*] `tardis.base.run_tardis` imported but unused
tardis/visualization/widgets/shell_info.py:2:51: F401 [*] `tardis.io.atom_data.atom_web_download.download_atom_data` imported but unused
tardis/visualization/widgets/shell_info.py:12:17: F401 [*] `numpy` imported but unused
tardis/visualization/widgets/shell_info.py:299:25: PIE808 [*] Unnecessary `start` argument in `range`
tardis/workflows/simple_tardis_workflow.py:218:17: G004 Logging statement uses f-string
tardis/workflows/simple_tardis_workflow.py:430:17: G004 Logging statement uses f-string
tardis/workflows/standard_tardis_workflow.py:172:13: G004 Logging statement uses f-string
tardis/workflows/standard_tardis_workflow.py:212:17: G004 Logging statement uses f-string
tardis/workflows/workflow_logging.py:69:13: G004 Logging statement uses f-string
tardis/workflows/workflow_logging.py:107:21: G004 Logging statement uses f-string
tardis_env3.yml:3:10: E999 SyntaxError: Expected an expression
Found 237 errors.
[*] 111 fixable with the `--fix` option (37 hidden fixes can be enabled with the `--unsafe-fixes` option).
|
*beep* *bop* Significantly changed benchmarks: All benchmarks: Benchmarks that have stayed the same:
| Change | Before [47d64bfb] <master> | After [05e2b827] | Ratio | Benchmark (Parameter) |
|----------|------------------------------|---------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------|
| | 2.81±0.7μs | 4.16±0.8μs | ~1.48 | transport_montecarlo_vpacket.BenchmarkMontecarloMontecarloNumbaVpacket.time_trace_bad_vpacket |
| | 42.9±30μs | 51.7±30μs | ~1.20 | transport_montecarlo_interaction.BenchmarkTransportMontecarloInteraction.time_line_scatter |
| | 2.96±0.05ms | 3.48±0.05ms | ~1.18 | opacities_opacity_state.BenchmarkOpacitiesOpacityState.time_opacity_state_initialize('scatter') |
| | 23.3±6μs | 26.6±8μs | ~1.14 | transport_montecarlo_packet_trackers.BenchmarkTransportMontecarloPacketTrackers.time_generate_rpacket_last_interaction_tracker_list |
| | 1.51±0.4μs | 1.69±0.4μs | ~1.12 | transport_geometry_calculate_distances.BenchmarkTransportGeometryCalculateDistances.time_calculate_distance_line |
| | 3.96±0ms | 4.36±0.02ms | ~1.10 | opacities_opacity_state.BenchmarkOpacitiesOpacityState.time_opacity_state_initialize('macroatom') |
| | 2.42±1μs | 2.19±1μs | ~0.91 | transport_montecarlo_estimators_radfield_estimator_calcs.BenchmarkMontecarloMontecarloNumbaPacket.time_update_line_estimators |
| | 581±100ns | 621±200ns | 1.07 | opacities_opacity.BenchmarkMontecarloMontecarloNumbaOpacities.time_pair_creation_opacity_calculation |
| | 511±100ns | 541±200ns | 1.06 | opacities_opacity.BenchmarkMontecarloMontecarloNumbaOpacities.time_compton_opacity_calculation |
| | 2.69±0.4ms | 2.82±0.5ms | 1.05 | transport_montecarlo_single_packet_loop.BenchmarkTransportMontecarloSinglePacketLoop.time_single_packet_loop |
| | 709±8ns | 723±2ns | 1.02 | transport_montecarlo_interaction.BenchmarkTransportMontecarloInteraction.time_thomson_scatter |
| | 3.30±0.7μs | 3.36±0.5μs | 1.02 | transport_montecarlo_vpacket.BenchmarkMontecarloMontecarloNumbaVpacket.time_trace_vpacket_within_shell |
| | 38.5±0.2s | 39.1±0.04s | 1.01 | run_tardis.BenchmarkRunTardis.time_run_tardis |
| | 1.05±0m | 1.06±0m | 1.01 | run_tardis.BenchmarkRunTardis.time_run_tardis_rpacket_tracking |
| | 2.08±0m | 2.10±0m | 1.01 | spectrum_formal_integral.BenchmarkTransportMontecarloFormalIntegral.time_FormalIntegrator_functions |
| | 206±0.1ns | 210±0.07ns | 1.01 | spectrum_formal_integral.BenchmarkTransportMontecarloFormalIntegral.time_intensity_black_body |
| | 621±100ns | 621±100ns | 1.00 | opacities_opacity.BenchmarkMontecarloMontecarloNumbaOpacities.time_photoabsorption_opacity_calculation |
| | 31.5±0.04μs | 31.5±0.1μs | 1.00 | transport_montecarlo_packet_trackers.BenchmarkTransportMontecarloPacketTrackers.time_generate_rpacket_tracker_list |
| | 1.23±0.01μs | 1.22±0μs | 0.99 | transport_geometry_calculate_distances.BenchmarkTransportGeometryCalculateDistances.time_calculate_distance_boundary |
| | 1.74±0.02ms | 1.73±0ms | 0.99 | transport_montecarlo_main_loop.BenchmarkTransportMontecarloMontecarloMainLoop.time_montecarlo_main_loop |
| | 67.0±0.2ms | 66.4±0.3ms | 0.99 | transport_montecarlo_packet_trackers.BenchmarkTransportMontecarloPacketTrackers.time_rpacket_trackers_to_dataframe |
| | 6.52±1μs | 6.41±1μs | 0.98 | transport_montecarlo_vpacket.BenchmarkMontecarloMontecarloNumbaVpacket.time_trace_vpacket |
| | 8.08±2μs | 7.58±2μs | 0.94 | transport_montecarlo_vpacket.BenchmarkMontecarloMontecarloNumbaVpacket.time_trace_vpacket_volley |
| | 46.8±20μs | 43.4±20μs | 0.93 | transport_montecarlo_interaction.BenchmarkTransportMontecarloInteraction.time_line_emission |
If you want to see the graph of the results, you can check it here |
Have the tests been run recently? I don't think the notebook should be able to run as there is no opacity state passed to the transport solver |
Unless I'm missing something, I believe this needs to be rebased/merge in master |
3a24f98
to
a68ebaa
Compare
79df0e3
to
ad56acf
Compare
Also adds docstrings to methods. Updates some methods to use new functionality of the plasma. Adds requirements for the convergence plots (still broken)
0d7e91e
to
9e3c968
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Look good, but we'll want to set up a regression test to validate that it produces the same output as the normal simulation. Issue #2856
📝 Description
Type: 🚀
feature
Duplicates the existing simulation solver as a hopefully clean workflow setup.
🚦 Testing
How did you test these changes?
☑️ Checklist
build_docs
label