if undefined(w) then begin ; filespec='../fine/jonas/fine/d3t40g15mm00/d3t40g15mm00n02.*.fine' & teff=4020.0 ; filespec='../fine/2013.09/d3t50g25mm20/3D/with_lines/d3t50g25mm20n01.*.fine' & teff=5020.0 filespec='../fine/2013.09/d3gt57g44n59/3D/with_lines/d3gt57g44n59.*.fine' & teff=5780.0 ; RD_RHDFINE_MULTI2, 't3960g45mm00ml3a10ob6_marcs.3x3.fine', 5, 12, d rd_rhdfine_multi2, filespec, 5, 12, d restore, 'weights_odflittle.idlsave' w = double(10.0*weights.dlam(181:*)) files = file_search('filters/*.dat', count=nfilters) f=ptrarr(nfilters,/allocate) for i=0,nfilters-1 do begin rd_filter, files[i], *f[i] endfor end f0 = !con.sigmasb*teff^4 flamall = d.frtop*!con.clight/d.clam^2*1e8 ; per A flam = aver(flamall,2) sflam = flamall for i=0,19 do sflam[*,i]=sflam[*,i]-flam sflam = sqrt(aver(sflam^2,2))/sqrt(20.0) lam = reform(d.clam[*,0]) ; all snaps share the same wavelength scale lair =0.99972683d0*lam+0.0107d0-196.25d0/lam ck = !con.clight*!con.kboltz*1e24 fir = 2.0/3.0*!pi*ck*teff/1.0d15 ; 100000A wavelength limit d3 = dblarr(20,/nozero) ; Correct to f0 print, 'Flux: SED, IR tail:', total(w*flam)/f0, fir/f0 flam = flam*f0/(total(w*flam)+fir) plot, lam, flam, psym=10, yrange=[-5.0e4, 5e6], /ystyle, xr=[3000,40000] zeroline oplot, lam, blam(lam,teff)*!pi, color=green ;for i=0,11 do oplot, (*f[i]).l,(*f[i]).t*2d6, color=green, psym=-6 for i=0,11 do begin ii = where(lam ge min((*f[i]).l) and lam le max((*f[i]).l), n) ; all filter curves start and end at zero transmission d2 = monocubic((*f[i]).t, (*f[i]).l, lam[ii]) oplot, lam[ii], 2.0d6*d2, color=red;, psym=-4 for j=0,19 do begin d3[j]=-2.5d0*alog10(total(w[ii]*d2*flamall[ii,j])/total(w[ii]*d2)) endfor print, (*f[i]).filter, -2.5d0*alog10(total(w[ii]*d2*flam[ii])/total(w[ii]*d2)), rms(d3)/sqrt(20.0), $ format='(A8,2X, F10.4, 2X, F10.4)' endfor end