PlasmaPy / PlasmaPy-NEI

Non-equilibrium ionization modeling of plasma with Python
Other
7 stars 6 forks source link

Document how to update ionization and recombination rates from Chianti #22

Open namurphy opened 4 years ago

namurphy commented 4 years ago

Following up on #16, it'd be helpful to document the steps necessary to create the HDF5 file from the ionization and recombination rates. While doing this, we should also document what the structure of the HDF5 file needs to be, in case we want to use AtomDB data instead.

wtbarnes commented 4 years ago

👀

wtbarnes commented 4 years ago

If you wanted, you could use fiasco as an interface to these rates. I'm pretty confident in both the ionization and recombination rate calculations and all of this data is stored in an HDF5 file.

It would actually be really useful to have someone else try out this interface and see how well it holds up under users who are not me 😆If it doesn't fit your needs, it may be that there needs to be a lot more work to do on the fiasco end.

wtbarnes commented 4 years ago

The atomDB angle would also be interesting. A more generalized interface to multiple atomic databases has been a pie-in-the-sky for me for a while. If we could start hacking on what a generalized CHIANTI/AtomDB interface to these rates would look like, that would be great!

namurphy commented 4 years ago

Yes, if we could use atomic data stuff directly from fiasco, that would be wonderful! The constraint is that I want everything to be installable with pip and conda-forge, so I think that would mean including the atomic data from Chianti in fiasco and putting fiasco on PyPI...or having the HDF5 files corresponding to Chianti on Zenodo or somewhere so that they can be downloaded during the installation. I'm not sure how best to approach this. But yeah...a tighter integration between this and fiasco would be great.

wtbarnes commented 4 years ago

I've been meaning to do a release of the package on some point anyway, even if its a 0.1 with many caveats so if this is the motivation for getting that done then great!

Versioning the database in some meaningful way is another can of worms. I think the preferred way would be to put the original raw ASCII data on Zenodo as that is what is produced by the CHIANTI team and then just rebuild the HDF5 file from that as needed. However, as the database itself is unlicensed, I'm not sure how that would work, i.e. putting it on Zenodo, giving it a DOI.

StanczakDominik commented 4 years ago

Yes, if we could use atomic data stuff directly from fiasco, that would be wonderful! The constraint is that I want everything to be installable with pip and conda-forge, so I think that would mean including the atomic data from Chianti in fiasco and putting fiasco on PyPI...

There is the option of installing Chianti directly from github, there's pip install git+gitrepolink or whatever it was. It could be a temporary workaround

namurphy commented 4 years ago

However, as the database itself is unlicensed, I'm not sure how that would work, i.e. putting it on Zenodo, giving it a DOI.

Yeah...I was trying to avoid thinking about that. I wonder if it would be worth starting the conversation again with the main Chianti folks.

There is the option of installing Chianti directly from github, there's pip install git+gitrepolink or whatever it was. It could be a temporary workaround

Looks like there's more information on this in the pip docs for VCS support. I'll keep this workaround in mind for while we're in the midst of developing things.

This comment has been brought to you by...me looking for an excuse to not go to bed.