Skip to content

Wrong nubar_estimators (potentially also inconsistencies in transition probabilities) -- follow-up of #455  #464

@unoebauer

Description

@unoebauer

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)
    • this may be due to problems introduced between 2e7a85f and 85c0c1e
    • another possibility is the use of different metrics to determine differences (see guidelines below)
  • [ ]: 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions