pro norh_alpha,indexa,dataa,indexz,dataz,indexalpha,alpha,mvalid $ ,datacri=datacri,debug=debug ;+ ; NAME: ; norh_alpha ; ; PURPOSE: ; Derive ; alpha= log(F_nu[34]/F_nu[17])/log(34/17) ; i.e. F = F0 * frequency^(alpha) ; after beam fixed. ; ; CALLING SEQUENCE: ; norh_alpha,indexa,fluxa,indexz,fluxz,indexal,alpha,mvalid ; ; INPUTS: ; indexa: NoRH index of 17 GHz images ; fluxa: 1-D, 2-D or 3-D array of 17 GHz ; indexz: NoRH index of 34 GHz images ; fluxz: 1-D, 2-D or 3-D array of 34 GHz ; ; OUTPUTS: ; indexal: NoRH index for alpha array ; alpha : 2-D or 3-D array of the alpha ; alpha= log(I[34]/I[17])/log(34/17) ; i.e. I = I0 * frequency^(alpha) ; mvalid : 2-D or 3-D array of valid pixels ; 1 for valid, 0 for non-valid ; ; OPTIONAL INPUTS: ; ; OPTIONAL OUTPUTS: ; ; HISTORY: ; Writtern 2000-10-24 T. Yokoyama based on norh_alpha ; ;- if not keyword_set(datacri) then datacri=3.e4 facri=norh_tb2flux(datacri,indexa(0),/intensity) fzcri=norh_tb2flux(datacri,indexz(0),/intensity) freqa=norh_gt_freq(indexa,/num) freqz=norh_gt_freq(indexz,/num) alpha=alog10((dataz>1.e-10)/(dataa>1.e-10))/alog10(freqz(0)/freqa(0)) mvalid=byte(dataa) mvalid(*)=1b whr=where((dataz lt fzcri) or (dataa lt facri),count) if (count ge 1) then mvalid(whr)=0b indexalpha=indexz tim=anytim((anytim(indexa)+anytim(indexz))*0.5,/ints) indexalpha.gen.time=tim.time indexalpha.gen.day=tim.day timj=anytim(norh_ut2jst(tim),/ints) indexalpha.gen.timejst=timj.time indexalpha.gen.dayjst=timj.day indexalpha.norh.obs_freq='alpha' indexalpha.norh.polariz='' return end