-
-
Notifications
You must be signed in to change notification settings - Fork 440
Closed
Labels
Description
This is a re-launch of #455, reviewing the current status of the debugging process and outlining the next steps. The reason for this re-launch was the increase in confusion in the vast discussion of #455.
Important Conclusions from #455
Here are the most important conclusions from the discussion of #455:
- for certain setups, wrong values of the
nubar_estimators
are produced at the end of a Monte Carlo cycle - this leads to non-converging plasma-state iterations
- this affects the current Tardis version
- 45eca24 still produces the correct values of
nubar_estimators
- problems in the calculation of the transition_probabilities have been discovered during the debugging process; however: it is currently not clear whether this triggers the
nubar_estimator
behaviour
Immediate Steps
I propose the following strategy:
Immediate Steps:
- [ ]: confirm that PR Fixing plasma in 41d8fcd (not for merging) #462 creates an identical plasma state (tau_sobolevs, electron_densities, transition_probabilities, ion_populations, level_populations) as 45eca24 on the python level when using
plasma_fail_test.yml
; @aoifeboyle found that there are no differences (based on 2e7a85f ), @unoebauer found differences in the transition_probabilities (based on 85c0c1e) - [ ]: once a version of Tardis after the plasma restructure has been found/produced, which produces the same plasma state as 45eca24 and still produces different
nubar_estimators
, one should compare the plasma inputs on the C level -- this is clearly a task for @yeganer
Ultimate Goals:
- [ ]: fix the nubar_estimator behaviour
- [ ]: understand why the issue did not manifest in any of the Travis test problems and in the tardis_example
Guidelines
- Please only use the setups provided by PR Setups for debugging #455 and (not for merging) #463 to debug this problem. For now, only
plasma_fail_test
setup is provided. If additional configurations are absolutely necessary, they will be added to the PR. Always refer to the setups by the name given to them in the PR to avoid confusion - we should use a consistent metric for determining differences in plasma state quantities:
- I am currently using the following prescription when determining differences of pandas.DataFrames (I am not saying that this is the best solution):
np.fabs(((plasma_property_old - plasma_property_new) / plasma_property_old).fillna(0)).max()
- to avoid bloating the discussion here, only append few lines of python or ipython output to your posts (I am the first one to blame for this). If a detailed output is necessary, save it and append it as a zip archive
- It may be useful to also provide information about your python setup, in particular about the versions of the following packages: pandas, astropy, numpy; Using different versions of these packages has lead to some confusion during Inconsistencies between Tardis versions #455