I realized today that my previous attempt at this (PR #9) had a bug – if you didn't give extinction for all filters (when using a dict), it would break when calculating the magnitudes for the missing filters, since it always tries to add extinction.
This PR fixes this by creating a dictionary regardless of whether you give a single float or a dict for a subset of the filters.
Example Behavior
For example, if you are using the LSST photometric system:
Given the way the code is currently written, the extinction bookkeeping gets messy if you want to add SSPs together to form a composite population object. Sorting that out is beyond the scope of this PR, so for now, a warning is given if the user tries to combine two SSPs with extinction.
Finally, I noticed that we do not support smooth models when combining source objects into composite sources. Again, since this isn't a primary use case, I added a warning if the use tries to combine sources with smooth components.
Overview
I realized today that my previous attempt at this (PR #9) had a bug – if you didn't give extinction for all filters (when using a dict), it would break when calculating the magnitudes for the missing filters, since it always tries to add extinction.
This PR fixes this by creating a dictionary regardless of whether you give a single float or a dict for a subset of the filters.
Example Behavior
For example, if you are using the LSST photometric system:
New Warnings
Given the way the code is currently written, the extinction bookkeeping gets messy if you want to add SSPs together to form a composite population object. Sorting that out is beyond the scope of this PR, so for now, a warning is given if the user tries to combine two SSPs with extinction.
Finally, I noticed that we do not support smooth models when combining source objects into composite sources. Again, since this isn't a primary use case, I added a warning if the use tries to combine sources with smooth components.