ICSM / ampere

A tool to fit the SED and spectra of dusty objects to constrain, among other things, the dust properties and mineralogy
6 stars 2 forks source link

Make an example to fit NGC 6302 #46

Closed ciskakemper closed 1 year ago

ciskakemper commented 3 years ago

Using the model and data from my 2002 paper.

ciskakemper commented 2 years ago

I will start a branch to address this called ngc6302

ciskakemper commented 2 years ago

17/5/2022: Reading in the opacity data correctly now, and making an extrapolation where the opacity data is not covering the full extent of the observed data.

ciskakemper commented 2 years ago

Code is running, but doesn't seem to run correctly. So, the next step is to simplify the code, make it less general, more specific, reduce the number of parameters and treat the parameters as individual scalars, rather than arrays. Stay close to the original example.

ciskakemper commented 1 year ago

The code itself is running, but there seems to be an error in the calculation. I need to work through the derivation of equation 6 in Kemper et al. 2002 again, and the coding up of this equation in the example for AMPERE.

ciskakemper commented 1 year ago

Hey, @pscicluna, I am not going to change the equation and the coding yet, because the reality is that my code gives a reasonable result for at least the start values that I give it. You can argue that the physics is maybe not right (I will check this later), but the reality is that there is a part in parameter space where the code/formula/equation that I apply on the fitting parameters produces a spectrum that looks similar to the observed spectrum. So, there is something weird in AMPERE -- why does it not find some solution near these values, even if I give it starting values really close? This, I think, does not have anything to do with the way I coded up my routine. If I must see AMPERE as a black box, you have to see my code as a black box. It is just something that produces a spectrum given a set of parameters. I have two more questions that might help to improve the situation though, because they have more to do with the way AMPERE works. I have a scaling factor as one of my parameters. The expected value is around 1, it is just to scale the spectrum if it is a little bit off. Given that AMPERE also applies its scaling, do I really need this parameter, or should I get rid of it, and let AMPERE do its thing? In 2002 I only really fitted part of the spectrum, the long wavelength part (>20 micron or so, all chi-by-eye of course). I did not pay much attention to the short wavelength part. But by feeding the full observed spectrum to AMPERE it is trying to fit that too. Is there a way to block or mask part of the data? Or do I just manually remove it from the spectrum? The problem of this part of the spectrum is that part of it is close to 0 in lin space (which is where the comparison with the model is done), and this may cause some further trouble. Also of course, I did not attempt to fit this part of the spectrum in 2002. I have the feeling that the result may improve if I can block part of the spectrum. How do I do this?

ciskakemper commented 1 year ago

Hi @pscicluna, I have checked all the physics. Everything seems to be in order. The example does not yet converge after 15000 samples. But otherwise it all looks OK. Can you have a look at the workings of this, as we discussed last week?

ciskakemper commented 1 year ago

All completeed now.