cherab / core

The core source repository for the Cherab project.
https://www.cherab.info
Other
45 stars 24 forks source link

Add support for PEC93 and PEC40 ADF15 file formats #256

Open vsnever opened 3 years ago

vsnever commented 3 years ago

An attempt to read PEC93 or PEC40 ADF15 (photon emissivity coefficients) ADAS data file results to an error.

In case of PEC93 (boron, molybdenum, ...), the list of electron configurations is missing and must be read from the corresponding ADF04 file.

In case of PEC40 (tungsten, argon), the headers for electron configuration and transition lists as well as the transition string do not match the proposed regular expressions, so the regular expressions must be corrected to match all ADF15 formats.

Mateasek commented 3 years ago

It seems a if ADAS codes didn't use the commented sections at all, otherwise I would expect it to hold some standard shape. This is way deeper than my current knowledge of OpenADAS to be honest. I looked briefly at the ADF15 data file and I couldn't find any way how to connect it to a specific ADF04 files to get the transitions from.

vsnever commented 3 years ago

I think the only way to do it is by using a lookup table:

pec93_adf04 = {
               'pec93#he_pju#he0.dat': 'helike/helike_kvil93he.dat',
               'pec93#he_llu#he0.dat': 'helike/helike_kvil93he.dat',
               'pec93#be_pju#be0.dat': 'belike/belike_wjd91#be.dat',
               'pec93#be_llu#be0.dat': 'belike/belike_wjd91#be.dat',
               'pec93#be_pju#be1.dat': 'lilike/lilike_wjd91be.dat',
               'pec93#b_llu#b0.dat': 'copmm#5/ls#b0.dat',
               'pec93#b_llu#b1.dat': 'belike/belike_nrb03#b1.dat',
               'pec93#b_llu#b2.dat': 'copmm#5/ls#b2.dat',
               'pec93#b_llu#b3.dat': 'helike/helike_dvb02#b3.dat',
               'pec93#c_pju#c0.dat': 'clike/clike_rhgr93c.dat',
               'pec93#c_llu#c0.dat': 'clike/clike_rhgr93c.dat',
               'pec93#c_llu#c1.dat': 'blike/blike_wjd92#c.dat',
               'pec93#c_pju#c1.dat': 'blike/blike_wjd92#c.dat',
               'pec93#c_llu#c2.dat': 'belike/belike_wjd92#c.dat',
               'pec93#c_pju#c2.dat': 'belike/belike_wjd92#c.dat',
               'pec93#c_llu#c3.dat': 'lilike/lilike_hps92c.dat',
               'pec93#c_pju#c3.dat': 'lilike/lilike_hps92c.dat',
               'pec93#o_llu#o1.dat': 'nlike/nlike_dhbl94#o.dat',
               'pec93#o_pju#o1.dat': 'nlike/nlike_dhbl94#o.dat',
               'pec93#o_llu#o4.dat': 'belike/belike_dhbl95#o.dat',
               'pec93#o_pju#o4.dat': 'belike/belike_dhbl95#o.dat',
               'pec93#o_llu#o5.dat': 'lilike/lilike_wjd92#o.dat',
               'pec93#o_pju#o5.dat': 'lilike/lilike_wjd92#o.dat',
               'pec93#cr_llu#cr0.dat': 'crlike/crlike_hps95cr.dat',
               'pec93#mo_llu#mo0.dat': 'molike/molike_hps95mo.dat'
}