This is a list of the things we ran into when trying to run the CRM on C/Ne data that you told me to make an issue about:
- ion potential level counting
in read_adf04_py3_class.py, lines 137ff and 157, zz_check is defined and used to keep track of the number of states the ion/atom of the current charge can ionize into. It does so by tracking what ionization pathways it sees for each listed state.
At the same time, line 53 creates the array of ionization potentials, defined via the entries in the first line of the adf04 file.
These should agree, but don't always. For example, cop98#10_ls#ne1.dat lists more states than are actually used as pathways.
I recommend foregoing either foregoing one of the counts, or to reduce the adf04['atomic']['ion_pot'] array to the relevant staes once the pathways are tracked.
Steps to reproduce:
- Download all the 'cop98#10_ls#ne*.dat` adf04 files as inputs
- run
ionization_balance_class.ionization_balance() with otherwise normal values
-
metastable iterable
the list of state-metastable lists is not necessarily rectangular, e.g. metas=[[0,1], [0,1,2,3]]. Thus it can generally not be made into a numpy array, as you try in ionization_balance_class.py line 251.
I recommend just replacing it with self.data['user']['metas'] = metas, which still works
-
warnings
The regex strings in read_adf11.py lines 20, 31, 39, 43 would appreciate becoming raw stings: '\d' -> r'\d'
This is a list of the things we ran into when trying to run the CRM on C/Ne data that you told me to make an issue about:
in read_adf04_py3_class.py, lines 137ff and 157,
zz_checkis defined and used to keep track of the number of states the ion/atom of the current charge can ionize into. It does so by tracking what ionization pathways it sees for each listed state.At the same time, line 53 creates the array of ionization potentials, defined via the entries in the first line of the adf04 file.
These should agree, but don't always. For example, cop98#10_ls#ne1.dat lists more states than are actually used as pathways.
I recommend foregoing either foregoing one of the counts, or to reduce the
adf04['atomic']['ion_pot']array to the relevant staes once the pathways are tracked.Steps to reproduce:
ionization_balance_class.ionization_balance()with otherwise normal valuesmetastable iterable
the list of state-metastable lists is not necessarily rectangular, e.g.
metas=[[0,1], [0,1,2,3]]. Thus it can generally not be made into a numpy array, as you try in ionization_balance_class.py line 251.I recommend just replacing it with
self.data['user']['metas'] = metas, which still workswarnings
The regex strings in read_adf11.py lines 20, 31, 39, 43 would appreciate becoming raw stings:
'\d' -> r'\d'