Attenuate | R Documentation |
Applies a simple Charlot and Fall dust model, assuming the published defaults for the birth cloud and dust screen exponential taus.
CF(wave, tau = 0.3, pow = -0.7, pivot = 5500)
CF_atten(wave, flux, tau = 0.3, pow = -0.7, pivot = 5500)
CF_birth(wave, tau = 1.0, pow = -0.7, pivot = 5500)
CF_birth_atten(wave, flux, tau = 1.0, pow = -0.7, pivot = 5500)
CF_screen(wave, tau = 0.3, pow = -0.7, pivot = 5500, Eb = 0, L0 = 2175.8,
LFWHM = 470)
CF_screen_atten(wave, flux, tau = 0.3, pow = -0.7, pivot = 5500, Eb = 0,
L0 = 2175.8, LFWHM = 470)
atten_emit(wave, flux, tau = 0.3, pow = -0.7, alpha_SF = 1.5, Dale = NULL,
Dale_M2L_func = NULL, waveout = NULL, Eb = 0, L0 = 2175.8, LFWHM = 470)
wave |
Numeric vector; wavelength in Angstroms. |
flux |
Numeric vector; flux in any units as long as they are per unit wavelength (e.g. Lsol / Ang). |
tau |
Numeric scalar; the exponential tau of the dust, where larger means more reddening. Charlot and Fall suggested defaults are used here (although tau=0.5 for the screen is also reasonable). |
pow |
Numeric scalar; power to further raise the attenuation. Charlot and Fall suggest this should be close to -0.7 based on observations (da Cunha et al (2008) use a steeper -1.3 for the birth cloud). |
pivot |
Numeric scalar; the pivot wavelength in Angstroms. Charlot and Fall suggested default. |
Eb |
Numeric scalar; Additional attenuation at the 2175.8 Ang dust bump. The default of 0 means this has no effect, MW is near 3.3, and typical galaxies are around Eb=1. |
L0 |
Numeric scalar; location of the 2175.8 Ang dust bump in Angstroms (probably do not adjust this). |
LFWHM |
Numeric scalar; width of the 2175.8 Ang dust bump in Angstroms (probably do not adjust this). |
alpha_SF |
Numeric scalar; desired interpolated alpha slope of the star forming population. Lower values mean hotter dust. |
Dale |
Pass in the Dale dust library directly (should be one of Dale_NormTot, Dale_NormSFR). |
Dale_M2L_func |
Function; if dust masses are desired then the user should supply a function to convert alpha_SF to mass-to-light, e.g. |
waveout |
Numeric vector; desired output wavelength grid to use for adding together spectra. See |
We use the simple dust models for birth clouds and dust screens as given by Charlot and Fall (2000):
A=\exp(-\tau*(\lambda/\lambda_{piv})^n)
The defaults should be reasonable in the regime they are used over, where birth cloud dust should only be applied to stellar populations younger than 10 Myrs. Note that BC03 has 70 stellar population spectra which are younger than this, whilst EMILES has none. This means that EMILES cannot realistically capture the birth dust attenuation phase, so for highly star bursting populations BC03 should probably be preferred.
For CF
, CF_birth
and CF_screen
, a numeric vector; the attenuation curve that fluxes should be multiplied by.
For CF_atten
, CF_birth_atten
and CF_screen_atten
, a list where the first element is the attenuated flux [flux], the second is the total energy of the flux attenuated (i.e. this is the amount that should be re-radiated elsewhere) [total_atten], and the third is the ratio of attenuated to unattenuated stellar light (i.e. 1 would mean no flux has been attenuated by dust, and 0 would mean 100% attenuation).
For atten_emit
the input spectrum is attenuated by the specified Charlot and Fall mode, and then re-emitted with the specified Dale dust template. Returns a list containing:
Two column data.frame; Wavelength in Ang, attenuated and re-emitted flux in user units.
Two column data.frame; Wavelength in Ang, un-attenuated flux in user units.
Two column data.frame; Wavelength in Ang, attenuated flux in user units.
Two column data.frame; Wavelength in Ang, re-emitted flux in user units (i.e. mostly FIR).
Integrated total attenuation user units.
If Dale_M2L_func is provided then dustmass in solar masses (Msol).
Aaron Robotham
Charlot & Fall, 2000, ApJ, 539, 718
da Cunha et al, 2008, MNRAS, 388, 1595
SFH
, greybody
fluxBC03=Lum2Flux(BC03lr$Wave, BC03lr$Zspec[[5]][161,]*1e10)
birthBC03=CF_birth(fluxBC03[,1])*fluxBC03[,2]
screenBC03=CF_screen(fluxBC03[,1])*fluxBC03[,2]
plot(fluxBC03, log='xy', xlab=BC03lr$Labels$Wavelab, ylab='Flux (erg/s/cm^2/Ang)',
type='l', col='red')
lines(fluxBC03[,1], birthBC03, col='black')
lines(fluxBC03[,1], screenBC03, col='grey')
legend('topright', legend=c('Intrinsic', 'Birth Cloud Dust', 'Screen Dust'),
col=c('red', 'black', 'grey'), lty=1)
#We can use the total energy attenuated to re-emit the radiation with a greybody spectrum.
birthBC03_atten=CF_birth_atten(fluxBC03[,1],fluxBC03[,2])
plot(fluxBC03, log='xy', xlab=BC03lr$Labels$Wavelab, ylab='Flux / erg/s/cm^2/Angstrom',
type='l', col='red', xlim=c(1e2,1e7))
lines(fluxBC03[,1], birthBC03, col='black')
lines(10^seq(5,7,by=0.01), greybody_norm(10^seq(5,7,by=0.01), z=0,
norm=birthBC03_atten$total_atten), col='brown')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.