Comments (9)
I think this was an attempt to mimic the CHIANTI way of doing things but I did it very early on. The 2 Emiss methods are probably only rarely used and should just populate different dictionaries. I think the best way to resolve this is to create different dictionaries. It is easy to recover from the change if we do it this way.
from chiantipy.
Ok so then it there would only be two methods:
freeFree
freeBound
and depending on the kwargs, each would populate one of two dictionaries per method:FreeFreeEmiss
orFreeFree
FreeBoundEmiss
orFreeBound
Another option would just be to add these as different keys to the same dictionary. This might be a bit cleaner. Or, alternatively, just let the user multiply by the ionization equilibrium and/or abundance since this information is already available to them. So then each method only returns one dictionary with one piece of information.
from chiantipy.
I think it is best if ChiantiPy takes care of multiplying by the abundance and ionization equilibrium. Otherwise, it causes the user a certain amount of dog-work that can be easily avoided
from chiantipy.
Ok that seems to make sense.
So just to make sure I understand this correctly:
- the methods suffixed with "Loss" include ionization equilibrium and abundance but not emission measure
- the methods suffixed with "Emiss" do not include the ionization equilibrium or the abundance or the emission measure
- the methods without any suffix include the ionization equilibrium, abundance, and emission measure
Is this correct?
from chiantipy.
right now we have the methods freeFree, freeFreeEmiss, freeFreeLoss, an so on for freeBound
freeFreeEmiss calculates the free-free spectrum a for a given ion --it does not include the abundance, ionization equilibrium or emission measure.
freeFree calcuates the spectrum for a give ion and includes the abundance and ionization equilibrium and emission measure as specified - the emission measure is specified in the continuum init method.
freeFreeLoss calcuates the energy loss of a given ion and includes the abundance, ionization equilibrium BUT NOT the emission measure. It probably should include the EM if is specified.
A lot of editing needs to be done in the Continuum class, for example many of the defaults or 0 (zero) for False or None and they should be explicity be set to that and then check how things propagate through the code.
Does this make sense?
from chiantipy.
Ok I see now.
So then how do these methods compare with the output of the CHIANTI IDL continuum methods? Presumably, if one was to add the output of continuum.freeFree
(continuum.freeBound
) for all ions, you should get the same answer as that produced by FREEFREE
(FREEBOUND
)?
from chiantipy.
ChiantiPy is not meant to be a duplicate of CHIANTI. Another issue is that I have not implemented the relativistic free-free cross-sections of Itoh so the free-free is the non-relativistic result based on Sutherland.
from chiantipy.
Ok. Just trying to understand the differences between how IDL and ChiantiPy do the continuum calculation.
I think some of my confusion stems from the fact that the docstrings for a lot of the continuum methods are a bit confusing. It looks like I was last to edit these so I seem to only have myself to blame! This is all a bit more clear now so I will try to clean those up a bit and clarify some of the confusion soon.
from chiantipy.
Closed by #114
from chiantipy.
Related Issues (20)
- AttributeError: module 'ChiantiPy.tools.data' has no attribute 'Abundance' HOT 27
- conda-forge package HOT 4
- KeyError on windows 10 HOT 5
- Error on running provided jupyter notebooks in the repo HOT 3
- line identifications in spectrum plot HOT 13
- Ability to give custom abundance files HOT 8
- Error while using spectrum with elementList only when all the ions are not present in the masterlist HOT 7
- Unexpected behavior when setting minAbund lower than lowest abund HOT 3
- Error when giving "Zn" in elementlist HOT 2
- How much memory does the mspectrum process consumes? HOT 1
- Chianti is taking more threads than specified HOT 2
- Clarify emission measure units in the function documentations. HOT 2
- Question: Support for photons/keV completed? HOT 10
- Getting spectrum from Ch.spectrum without smoothing/filtering HOT 4
- IDL and ChiantiPy gives different results. HOT 4
- Possible typo in function's documentation HOT 1
- NaNs generated when calculating spectra under certain conditions HOT 9
- Upload 0.15.1 to PyPI HOT 3
- Non-ionization equilibrium? HOT 2
- Unable to load ioneq HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chiantipy.