;+ ;PROCEDURE: get_mfi_3s ;PURPOSE: Gets key parameter data from the WIND MFI magnetic field ; experiment ;INPUT: ; none but will call "timespan" and ask for input if ; time range not already set ;KEYWORDS: ; none ;LEGENDS: ; B3_gse: 3 componenets of B in GSE and nT ; B3_gsm: 3 componenets of B in GSM and nT ; B3_rms_gse: 3 componenets of Brms in GSE and nT ; B3_rms_gsm: 3 componenets of Brms in GSM and nT ; B3_mag: Magnitude of B ; B3_rms_mag: Magnitude of Brms ; B3_lamda_gse: Angle between B vector and y-z plane, in GSE ; B3_phi_gse: Angle between B vector in y-z plane and the z axis ; B3_lamda_gsm: Angle between B vector and y-z plane, in GSM ; B3_phi_gsm: Angle between B vector in y-z plane and the z axis ; B3_th_gse: Davin's theta angle (see cart_to_sphere.pro) ; B3_ph_gse: Davin's phi angle ; B3_th_gsm: Davin's theta angle ; B3_ph_gsm: Davin's phi angle ; ;CREATED BY: Tai Phan (modified from Davin Larson's get_mfi) ;LAST MODIFICATION: @(#)get_mfi.pro 1.8 95/09/07 ;- pro get_mfi_3s @wind_com.pro init_wind_lib fname = data_directory+'wi_sp_mfi_files' get_file_names,filenames,TIME_RANGE=range,MASTERFILE=fname ndays = n_elements(filenames) if ndays eq 0 then begin print,"No WIND data available from ",time_to_str(range(0)), ' to ',time_to_str(range(1)) return endif for d=0,ndays-1 do begin print,'Loading file: ',filenames(d),'...' loadcdf_mfi_3s,filenames(d),'Time_PB5',pb5 & t = pb5_to_time(pb5) ; print_cdf_info,filenames(d) t3= t3time(t) loadcdf_mfi_3s,filenames(d),'PGSE',pgse p3gse= t3sc_pos(pgse,t,t3) loadcdf_mfi_3s,filenames(d),'PGSM',pgsm p3gsm= t3sc_pos(pgsm,t,t3) loadcdf_mfi_3s,filenames(d),'B3GSE',b3gse b3gse= t3array(b3gse) loadcdf_mfi_3s,filenames(d),'B3GSM',b3gsm b3gsm= t3array(b3gsm) loadcdf_mfi_3s,filenames(d),'B3RMSGSE',b3rmsgse b3rmsgse= t3array(b3rmsgse) loadcdf_mfi_3s,filenames(d),'B3RMSGSM',b3rmsgsm b3rmsgsm= t3array(b3rmsgsm) loadcdf_mfi_3s,filenames(d),'B3F1',b3f1 b3f1= t3array(b3f1) loadcdf_mfi_3s,filenames(d),'B3RMSF1',b3rmsf1 b3rmsf1= t3array(b3rmsf1) if d eq 0 then begin t3_tot = t3 b3gse_tot = b3gse b3gsm_tot = b3gsm b3rmsgse_tot = b3rmsgse b3rmsgsm_tot = b3rmsgsm b3f1_tot = b3f1 b3rmsf1_tot = b3rmsf1 p3gse_tot= p3gse p3gsm_tot= p3gsm endif else begin t3_tot = [t3_tot,t3] b3gse_tot = [b3gse_tot,b3gse] b3gsm_tot = [b3gsm_tot,b3gsm] b3rmsgse_tot = [b3rmsgse_tot,b3rmsgse] b3rmsgsm_tot = [b3rmsgsm_tot,b3rmsgsm] b3f1_tot = [b3f1_tot,b3f1] b3rmsf1_tot = [b3rmsf1_tot,b3rmsf1] p3gse_tot= [p3gse_tot,p3gse] p3gsm_tot= [p3gsm_tot,p3gsm] endelse endfor cart_to_sphere,b3gse_tot(*,0),b3gse_tot(*,1),b3gse_tot(*,2),$ btot_gse,th_gse,ph_gse cart_to_sphere,b3gsm_tot(*,0),b3gsm_tot(*,1),b3gsm_tot(*,2),$ btot_gsm,th_gsm,ph_gsm cart_to_sphere2,b3gse_tot(*,0),b3gse_tot(*,1),b3gse_tot(*,2),$ bmag_gse,lamda_gse,phi_gse cart_to_sphere2,b3gsm_tot(*,0),b3gsm_tot(*,1),b3gsm_tot(*,2),$ bmag_gsm,lamda_gsm,phi_gsm ind = where(b3f1_tot ge 1000 or b3f1_tot eq -1,cnt) if cnt gt 0 then begin b3gse_tot(ind,*) = 2e30 b3gsm_tot(ind,*) = 2e30 b3rmsgse_tot(ind,*) = 2e30 b3rmsgsm_tot(ind,*) = 2e30 b3f1_tot(ind) = 2e30 b3rmsf1_tot(ind) = 2e30 th_gse(ind) = 2e30 ph_gse(ind) = 2e30 th_gsm(ind) = 2e30 ph_gsm(ind) = 2e30 lamda_gse(ind) = 2e30 phi_gse(ind) = 2e30 lamda_gsm(ind) = 2e30 phi_gsm(ind) = 2e30 p3gse_tot(ind)= 2e30 p3gsm_tot(ind)= 2e30 endif store_data,'Sc3_gse',data={ytitle:'Sc3_gse',x:t3_tot,y:p3gse_tot , max_value:1e30,min_value:-1e30} store_data,'Sc3_gsm',data={ytitle:'Sc3_gsm',x:t3_tot,y:p3gsm_tot , max_value:1e30,min_value:-1e30} store_data,'B3_gse',data={ytitle:'B3_gse',x:t3_tot,y:b3gse_tot , max_value:1e30,min_value:-1e30} store_data,'B3_gsm',data={ytitle:'B3_gsm',x:t3_tot,y:b3gsm_tot , max_value:1e30,min_value:-1e30} store_data,'B3_rms_gse',data={ytitle:'B3_rms_gse',x:t3_tot,y:b3rmsgse_tot , max_value:1e30,min_value:-1e30} store_data,'B3_rms_gsm',data={ytitle:'B3_rms_gsm',x:t3_tot,y:b3rmsgsm_tot , max_value:1e30,min_value:-1e30} store_data,'B3_mag',data={ytitle:'B3_mag',x:t3_tot,y:b3f1_tot , max_value:1e30,min_value:-1e30} store_data,'B3_rms_mag',data={ytitle:'B3_rms_mag',x:t3_tot,y:b3rmsf1_tot , max_value:1e30,min_value:-1e30} store_data,'B3_lamda_gse' ,data={ytitle:'B3_lamda_gse',x:t3_tot,y:lamda_gse,yrange:[-90.,90.], max_value:1e30,min_value:-1e30} store_data,'B3_phi_gse' ,data={ytitle:'B3_phi_gse',x:t3_tot,y:phi_gse,yrange:[-180.,180.], max_value:1e30,min_value:-1e30} store_data,'B3_lamda_gsm' ,data={ytitle:'B3_lamda_gsm',x:t3_tot,y:lamda_gsm,yrange:[-90.,90.], max_value:1e30,min_value:-1e30} store_data,'B3_phi_gsm' ,data={ytitle:'B3_phi_gsm',x:t3_tot,y:phi_gsm,yrange:[-180.,180.], max_value:1e30,min_value:-1e30} store_data,'B3_th_gse' ,data={ytitle:'B3_th_gse',x:t3_tot,y:th_gse,yrange:[-90.,90.], max_value:1e30,min_value:-1e30} store_data,'B3_ph_gse' ,data={ytitle:'B3_ph_gse',x:t3_tot,y:ph_gse,yrange:[-180.,180.], max_value:1e30,min_value:-1e30} store_data,'B3_th_gsm' ,data={ytitle:'B3_th_gsm',x:t3_tot,y:th_gsm,yrange:[-90.,90.], max_value:1e30,min_value:-1e30} store_data,'B3_ph_gsm' ,data={ytitle:'B3_ph_gsm',x:t3_tot,y:ph_gsm,yrange:[-180.,180.], max_value:1e30,min_value:-1e30} end