;+ ; NAME: mag_errprop ; ; PURPOSE: ; Convert fluxes to magnitudes, with error propagation. ; ; INPUTS: ; f1,f2 fluxes ; err1,err2 uncertainties in fluxes ; KEYWORDS: ; /silent don't print ; OUTPUTS: ; mags= returns magnitudes ; errmags= returns errors in magnitudes ; ; HISTORY: ;- PRO mag_errprop,f1,err1,f2,err2,mags=mags,errmags=errmags, $ silent=silent ratio = f2*1.0/f1 fracerr = sqrt( (err1*1.0/f1)^2 + (err2*1.0/f2)^2 ) err_ratio = ratio * fracerr mags = -2.5*alog10(ratio) ; derivative of the above is -2.5/(ratio*alog(10.)) ;errmags = -2.5/(ratio*alog(10.))*err_ratio ;errmags = -2.5/(ratio*alog(10.))*(ratio*fracerr) ;errmags = -2.5/(alog(10.))*(fracerr) errmags = 2.5/(alog(10.))*(fracerr) if ~(keyword_set(silent)) then print,"Difference: "+strc(mags)+" +- "+strc(errmags)+" magnitudes" end