flaresimulations / synthesizer

Synthesizer - a code for creating synthetic astrophysical observables
https://flaresimulations.github.io/synthesizer/
GNU General Public License v3.0
17 stars 8 forks source link

Assignment of dust emission spectra to correct galaxy or component level #658

Closed christopherlovell closed 1 month ago

christopherlovell commented 1 month ago

In #624 an emission model that generates dust emission based on the attenuation assigns this dust_emission spectra to the stars component. This is (obviously) a bit confusing; the stars themselves are not strictly responsible for the emission, the dust is. However, this approach is somewhat necessary in certain situations, such as at the particle level when doing LOS emission maps.

However, when the stars component is is part of a parent galaxy, this total emission and dust emission should, by default, be assigned to the galaxy level.

Further discussion with @WillJRoper on slack.

WillJRoper commented 1 month ago

The solution (without removing flexibility in general) is to enforce the placement of the dust_emission spectra in our premade models. This will require some extra flags including per_particle to ensure the dust emission per particle is assigned to the component and stellar_only for when working outside of a galaxy (this may be redundant since the get_spectra method will define the emitter, but it's not clear to me whether that could be used to modify the model reliably 🤔.

There may be a more elegant solution for the flags but we will see.