-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ksl130430_x-sections - PHOTOIONIZATION X-SECTIONS #18
Comments
@kslong suggested just doing an extrapolation by extending the gradient in loglog space near the maximum- this works fine for most x-sections, but there are a few problematic ones. Here's an example XS of topbase which is the XS for PhotTopS 8 1 501 8 0.17605 i.e. an excited state of OVIII I can just extrapolate ones like this to a very low value but I'm not sure if that is the right thing to do. |
I've got a version of the extrapolated atomic data with topbase, and I'm doing a few runs with it to see what the X-ray spectra look like. You can find it, along with the masterfile on ~/Dropbox/Python/atomic_data/ or also by just pulling the changes from the data branch, or cloning it if you haven't done so. Alternatively, go to https://github.com/agnwinds/python/tree/data, click on Zip and then stick that in your python directory- it has an updated Setup_Py_Dir script in there. Now in contact with Adam Foster and Randall Smith regarding obtaining new XSs. |
I've started looking at the AtomDB data sent to me by Randall Smith and Adam Foster. If anyone else fancies having a lookg there is a tarball of a load of fits files here: I'm still working on understanding the data, but thought I would upload as I went along so anyone who is interested can take a look. Decided to look at Oxygen exclusively for the moment, as its produced some interesting issues. So here is just a plot of all the OV Xsections, for AtomDB data: And the OV Xsections in my topbase extrapolate data set, Like I said, only just started on this so not sure entirely what to glean from this yet. Initial impressions are that by using topbase we are missing structure around the keV area, but the more striking observation of the AtomDB data is that it runs out at just above 2KeV in this case...which is actually worse than topbase. I also took a look at the O8 Xsections. Which tend to imply that the weird looking Xsections seen a few plots above in figure 2 are definitely a bit dodgy. Will write more soon! |
A quick point on this- myself and Nick were just discussing, and he pointed out that the XSTAR/AtomDB data columns I've been sent have a 'Reference' associated with them- e.g. for oxygen 5 these are XSTAR Type 49 and XSTAR Type 53. For oxygen 8 these are XSTAR Type 53. And, lo and behold if you go to the XSTAR website and check what these types are... http://heasarc.gsfc.nasa.gov/docs/software/xstar/docs/html/node164.html 49) opacity project pi x-sections 53) opacity project pi x-sections So they are TOPbase Xsections! |
I've created a page for this here |
Just to add an extra comment here: I have noted when profiling python in instruments that during the ionization cycles, the main time sink is doing integrations over VERNER cross sections. This is done when computing recombination rates for ions that do not have badnell rates (via the milne relaion) and also computing the denominator in our pairwise photoionization rate correction factor. |
Hmm, I don't doubt your result that a different formulation of pow produces a different result, alhough I have to say I find it quite surprising. I wonder if this is information known on the web Anyway, I agree that we ought to look into the question of how to represent the verner data. Probably we ought to set up a separate google page to lay out a strategy for where we want to go with atomic data. (James has a page set up, but it is more about the problems) There is a lot of material that is not well documented about what is done. When I wrote atomic data, I did not appreciate that we might want to have a generic way of describing the photoionization x-sections, so I used the word Topbase to describe a specific kind of data. If we go the suggested route, Topbase would refer to way of digitizing data as opposed to a source. This gives plenty of opportunity for confusion that we should work out how to deal with. |
The problems with the pow command is certainly mentioned on the web - and the exp/ln formulation was taken from a discussion there. Other ideas are approximate version or at the most extreme - machine code - but if we want python to remain portable..... Just to throw an idea out - we could consider having a binary file that we pre-prepare which contains all the atomic data using a seperate code. We could produce what we think is the best data - extrapolated - interpolated etc and then one would just read in one file, and turn on what one wants.... |
I am not in favor of binary files for atomic data, and do not see the need. Binary files can easily be different on different operating systems. |
I have incorporated and tested a little subroutine that populates a structure of type topbase_phot with sampled verner cross sections. I've not committed the change to the dev branch yet - would you like me to? |
I think committing to the dev branch is fine, but this may be only a short term fix. I currently favor creating some kind of helper routine to put the VFKY data into the format we would Knox |
I agree totally that this is a temporary fix - and hopefully James's grand unifiied PI cross section scheme will render it obsolete. However, it halves the execution time for the proga models, so I think it is a handy stopgap!! |
… of varaible_temperature code - discussed in issue #18
You can now take a look at every cross section plotted with this link- Which should be useful for reference https://www.dropbox.com/sh/mp9q7w9tzxvsdx2/FNNoSpNPdB I will host these on my website at some point but at the moment the servers are down. There's a readme which explains the format and colours. Edit: there's now a form here which would do that The reason I did this was because we want to start using the standard_extrap data set, and so the first order check I did was to check the gradients of the extrapolation, and for the script to warn me if a gradient is >-3. This happens in a lot of cases. Some of these are probably real (I don't understand the details of what determines the gradient) and some not. For example, if you look at some of the CNO cross sections there are examples (such as XS_8_3_141.png) where there is a slight upwards curve at the end of the topbase data which then causes the extrapolation to be with a gradient of close to -1 or even 0 in some cases on the log-log scale. |
The suggested solution is as follows, as discussed on 27 Sept: We are going to use topbase cross sections but with the following tests and adaptations:
|
I've compared fiducial models with standard73 and standard77 atomic data sets, and they look identical in the UV. I will double check that the X-ray edge disappears as above and then this issue is closed with the caveat that thresholds have not been adjusted. The individual cross sections I've corrected are shown here - you can see pretty well the fudge made. @Higginbottom - you should pull in the changes from the data branch and use standard77 |
Stop Press- don't use this quite yet @Higginbottom . Some slightly odd things happening in the X-ray spectra. Remember, UV spectra look identical here, but I must be doing something wrong. Remember I have 3 atomic data sets: standard73 it looks like I've messed something up as it would seem that I've managed to create more bf opacity in the region that didn't get affected by the extrapolation originally... |
Good news, this was a simple error in the script on my part, so the standard77 data set now looks like this (as it should): Nick can now go ahead and use this data. I consider this issue closed now, with the following caveats:
I will document what I've done properly and post somewhere appropriate, and also make the scripts available. |
That's good news. Knox |
Current Status: Understood
Priority: Highest -- need for Nick's paper
Version discovered in: - 75, but it will be in any spectrum
Brief statement of the problem: For Topbase xsections, a crossection of 0 is returned from sigma_phot_topbase above the maximum of the photon frequencies for which data is provided
How to reproduce: Any model in which one expects significant X-ray absorption, including the fiducial model for Nick's paper
Discussion: TopBase does not provide an extrapolation formula for x-sections outside of the energy range for which data is provided. When we calculate photoionization x-sections from topbase we perform a linear interpolation between the data provided, but we did not add our on extrapolation for frequencies beyond that given in topbase.
There is a problem because TopBase X-sections, which are now the preferred type of x-section in Python do not extent to very high energies
TopBase simply does not provide data to very high frequencies, probably because it was set up for stellar atmospheres. (Note that we use TopBase because it has partial ionization x-sections and because the other information it provides is convenient for macro-atoms). There are several potential solutions:
130506 - ksl looked for photoionization x-sections in chianti and they have "disappeared" in the latest releases. Stuart confirmed that he really had gotten them from chianti. A query to the chianti folks resulted in a response from Ken Dere: (Ken Dere [email protected]) who said"
that part of things never went very far but I had obtained the data from:
http://amdpp.phys.strath.ac.uk/DATA/PI/
This does have a lot of photo-ionization data.
JM130625: I have looked into the strathclyde data. The documentation is somewhat unclear, (for example, no units on energy that I can find), which makes drawing a conclusion at the moment different. I'm also not sure I understand their splitting of data sets into IC and LS coupling. I also noticed this sentence
''The inner-shell data initial states are a subset of those computed for the Updated Opacities (which considered excited initial complexes as well) but cover more elements (all up to Zn, plus Kr, Mo, Xe) and in more detail (using non-orthogonal relaxed orbitals).''
Personally, I think we should just extrapolate topbase photo-XSs outside of python, with a script which will work on topbase files in general.
Please also consult the X-ray attenuation page
The text was updated successfully, but these errors were encountered: