c....Read_THA_Output.for ..................................... c c Routine to read file THA.out produced by running c Turbulence_Hourly_Analysis.for c c C.W.S. and J.A.T. -- 9/11/2008. c................................................................................................................ c c THA.out contains the entire database generated by turb_parms.for c c Attribute Mean Variance Var of square Count c c Solar Wind Velocity Vsw Vsw2 Vsw4 icnt_Vp c Solar Wind Velocity (R) Vr_mean Vr_mean2 Vr_mean4 icnt_Vr c Solar Wind Velocity (T) Vt_mean Vt_mean2 Vt_mean4 icnt_Vt c Solar Wind Velocity (N) Vn_mean Vn_mean2 Vn_mean4 icnt_Vn c Solar Wind Velocity (x) Vx_mean Vx_mean2 Vx_mean4 N/A c Solar Wind Velocity (y) Vy_mean Vy_mean2 Vy_mean4 N/A c Solar Wind Velocity (z) Vz_mean Vz_mean2 Vz_mean4 N/A c Proton Temperature pTemp pTemp2 icnt_Tp c Proton Density pDen pDen2 icnt_Np c Magnetic Field (r) Br_mean Br_mean2 Br_mean4 icnt_Br c Magnetic Field (t) Bt_mean Bt_mean2 Bt_mean4 icnt_Bt c Magnetic Field (n) Bn_mean Bn_mean2 Bn_mean4 icnt_Bn c Magnetic Field (x) Bx_mean Bx_mean2 Bx_mean4 N/A c Magnetic Field (y) By_mean By_mean2 By_mean4 N/A c Magnetic Field (z) Bz_mean Bz_mean2 Bz_mean4 N/A c RMS Magnetic Field Brms_mean Brms_mean2 icnt_Brms c Magnetic Field Intensity B B2 B4 icnt_B c Alfven Velocity Va_mean Va_mean2 icnt_Va c Ion inertial scale zlambda_ii zlambda_ii2 icnt_iscale c Proton beta beta beta2 icnt_beta c c Squares of statistical Variables: c c Square of the mean: Square of the variance: c c B_squared B2_squared c Br_mean_squared Br_mean2_squared c Bt_mean_squared Bt_mean2_squared c Bn_mean_squared Bn_mean2_squared c Vsw_squared Vsw2_squared c Vr_mean_squared Vr_mean2_squared c Vt_mean_squared Vt_mean2_squared c Vn_mean_squared Vn_mean2_squared c c Bvar = c sigma_Bvar = uncertainty in c Vsqr = c sigma_Vvar = uncertainty in c c More statistical variables: c VdotB V dot B c VdotB_aver V dot B average c VdotB_aver_var variance of V dot B average c VdotB_inst instantaneous V dot B c VdotB_inst_var Variance of instantaneous V dot B c NpVsw Density * Solar wind velocity c NpVsw2 Density * (Solar wind velocity)**2 c Baniso B anisotropy c Vaniso V anisotropy c c Combined count variables: These count two quantities simultaneously for plotting purposes c icnt_VswNp Counts Vsw and Np c icnt_VswBeta Counts Vsw and Beta c icnt_VswTp Counts Vsw and Tp c icnt_Vsw_NpVsw Counts Vsw and Np*Vsw c icnt_BanisoVaniso Counts Baniso and Vaniso c icnt_VswBaniso Counts Vsw and Baniso c icnt_VswVaniso Counts Vsw and Vaniso c icnt_BetaVaniso Counts Beta and Vaniso c icnt_BetaBaniso Counts Beta and Baniso c c Time keeping variables: c iy1: Current year as read from THA.out c t1: Current day as read from THA.out c iyear_start: First year of analysis interval c iyear_stop: Last year of anlysis interval c time_start: First day of analysis interval c time_Stop: Last day of analysis interval c c Data from the linefit: y = a + bx c c A B A uncertainty B uncertainty c Tp Tp_A Tp_B Tp_sigmaA Tp_sigmaB c Np Np_A Np_B Np_sigmaA Np_sigmaB c Bx Bx_A Bx_B Bx_sigmaA Bx_sigmaB c By By_A By_B By_sigmaA By_sigmaB c Bz Bz_A Bz_B Bz_sigmaA Bz_sigmaB c Vx Vx_A Vx_B Vx_sigmaA Vx_sigmaB c Vy Vy_A Vy_B Vy_sigmaA Vy_sigmaB c Vz Vz_A Vz_B Vz_sigmaA Vz_sigmaB c Btrace Btrace_A Btrace_B Btrace_sigmaA Btrace_sigmaB c Vtrace Vtrace_A Vtrace_B Vtrace_sigmaA Vtrace_sigmaB c c c Variables for non-theta dependent distributions: B = index, A = amplitude c c Attribute PDF Array (0:2161) Associated count Bin size Summation for PDF(0:2161) c c Btrace_B iPDF_Btrace_B icnt_Btrace_B delta_Btrace_B Btrace_zn_mean_B c Vtrace_B iPDF_Vtrace_B icnt_Vtrace_B delta_Vtrace_B Vtrace_zn_mean_B c Np_B iPDF_Np_B icnt_Np_B delta_Np_B Np_zn_mean_B c Tp_B iPDF_Tp_B icnt_Tp_B delta_Tp_B Tp_zn_mean_B c Bn_B iPDF_Bn_B icnt_Bn_B delta_Bn_B Bn_zn_mean_B c Btrace_A iPDF_Btrace_A icnt_Btrace_A delta_Btrace_A Btrace_zn_mean_A c Vtrace_A iPDF_Vtrace_A icnt_Vtrace_A delta_Vtrace_A Vtrace_zn_mean_A c Np_A iPDF_Np_A icnt_Np_A delta_Np_A Np_zn_mean_A c Tp_A iPDF_Tp_A icnt_Tp_A delta_Tp_A Tp_zn_mean_A c Bn_A iPDF_Bn_A icnt_Bn_A delta_Bn_A Bn_zn_mean_A c Btrace sigmaB iPDF_Btrace_sigma_B delta_Btrace_sigma_B c Vtrace sigmaB iPDF_Vtrace_sigma_B delta_Vtrace_sigma_B c Np sigmaB iPDF_Np_sigma_B delta_Np_sigma_B c Tp sigmaB iPDF_Tp_sigma_B delta_Tp_sigma_B c Bn sigmaA iPDF_Bn_sigma_A delta_Bn_sigma_A c Bn sigmaB iPDF_Bn_sigma_B delta_Bn_sigma_B c Bn B iPDF_Bn_B delta_Bn_B c Bn RMS iPDF_Bn_rms icnt_Bn_rms delta_Bn_rms Bn_rms_zn_mean c Mag field RMS iPDF_Brms delta_Brms_mean c c Variables for theta dependent distributions: c c Counts (0:20) Error Bars(0:20) Summation for PDF (not theta) Uncertainty (0:20) c c 2 on the end c indicates squaring c c Btrace_icnt_B Btrace_zn_err_B Btrace_zn_aver_B Btrace_zn_sigma_B c Np_icnt_B Np_zn_err_B Np_zn_aver_B Np_zn_sigma_B c Vtrace_icnt_B Vtrace_zn_err_B Vtrace_zn_aver_B Vtrace_zn_sigma_B c Tp_icnt_B Tp_zn_err_B Tp_zn_aver_B Tp_zn_sigma_B c Bn_icnt_B Bn_zn_err_B Bn_zn_aver_B Bn_zn_sigma_B c Btrace_icnt_A Btrace_zn_err_A trace_zn_aver_A Btrace_zn_sigma_A c Np_icnt_A Np_zn_err_A Np_zn_aver_A Np_zn_sigma_A c Vtrace_icnt_A Vtrace_zn_err_A Vtrace_zn_aver_A Vtrace_zn_sigma_A c Tp_icnt_A Tp_zn_err_A Tp_zn_aver_A Tp_zn_sigma_A c Bn_icnt_A Bn_zn_err_A Bn_zn_aver_A Bn_zn_sigma_A c Bn_rms_icnt Bn_rms_mean_zn_aver Bn_rms_sigma c c fit_limit: Fit limit is the maximum value of selection (usually a maximum error) for data to be analyzed c theta: atan(dB/B_0) c dB / B_0 = sqrt(Bx_mean2 + By_mean2) / Bz_mean c c............................................................................................................... c c.. native data declarations: integer*4 icnt_Vp, icnt_beta, icnt_iscale integer*4 icnt_Bn, icnt_Br, icnt_Bt, icnt_Brms,icnt_Bn_rms,icnt_Vn integer*4 icnt_Va, icnt_Vr, icnt_Vt, icnt_VswNp integer*4 icnt_VswBeta, icnt_VswTp, icnt_Vsw_NpVsw integer*4 icnt_BanisoVaniso, icnt_VswBaniso, icnt_VswVaniso integer*4 icnt_BetaVaniso, icnt_BetaBaniso integer*4 i,iy1,count,iyear_start,iyear_stop,iyear real*8 time_start,time_stop,time,temp,ibin_r real*8 Vsw, Vsw2, Vsw4, pDen, pDen2, pTemp, pTemp2, beta, beta2 real*8 zlambda_ii, zlambda_ii2 real*8 B, B2, Br_mean, Br_mean2, Br_mean4 real*8 Bt_mean, Bt_mean2, Bt_mean4, Bn_mean, Bn_mean2, Bn_mean4, Brms_mean, Brms_mean2 real*8 Vx_mean,Vx_mean2,Vx_mean4,Vy_mean,Vy_mean2,Vy_mean4,Vz_mean,Vz_mean2,Vz_mean4 real*8 Bx_mean,Bx_mean2,Bx_mean4,By_mean,By_mean2,By_mean4,Bz_mean,Bz_mean2,Bz_mean4 real*8 Va_mean, Va_mean2,Bn_rms_mean,Vn_rms_mean real*8 Vr_mean, Vt_mean, Vn_mean, Vr_mean2, Vt_mean2, Vn_mean2 real*8 Vr_mean4, Vt_mean4, Vn_mean4 real*8 B2_squared, Br_mean2_squared, Bt_mean2_squared, Bn_mean2_squared real*8 Vsw2_squared, Vr_mean2_squared, Vt_mean2_squared, Vn_mean2_squared real*8 Vt_mean_squared,Vr_mean_squared,Vn_mean_squared,Vsw_squared real*8 Br_mean_squared,Bt_mean_squared,Bn_mean_squared,B_squared real*8 Bvar, sigma_Bvar, Vvar, sigma_Vvar real*8 VdotB, VdotB_temp, NpVsw, NpVsw2 real*8 one_hour, bad,pi real*8 Baniso,Vaniso,t1 real*8 Tp_sigmaA,Tp_B,Tp_sigmaB,Tp_A,Np_sigmaA,Np_B,Np_sigmaB,Np_A real*8 Bx_A,Bx_sigmaA,Bx_B,Bx_sigmaB,By_A,By_sigmaA,By_B,By_sigmaB real*8 Bz_A,Bz_sigmaA,Bz_B,Bz_sigmaB,Vx_A,Vx_sigmaA,Vx_B,Vx_sigmaB real*8 Vy_A,Vy_sigmaA,Vy_B,Vy_sigmaB,Vz_A,Vz_sigmaA,Vz_B,Vz_sigmaB real*8 Btrace_A,Btrace_B,Btrace_sigmaA,Btrace_sigmaB real*8 Vtrace_B,Vtrace_A,Vtrace_sigmaA,Vtrace_sigmaB real*8 VdotB_aver,VdotB_aver_var,VdotB_inst,VdotB_inst_var c bad = -9999.9 i = 1 pi = 4.*atan(1.) c c.. start it up: write(6,10) 10 format(/' Routine to read output of THA.out,', . /' -- Output file of Turbulence_Hourly_Analysis') c write(6,35) 35 format(' Give start and stop times for analysis: (iyr, day)') read(5,*) iyear_start, time_start, iyear_stop, time_stop write(6,*) iyear_start, time_start, iyear_stop, time_stop c.. open input files: open(unit=18, file='THA.out', form='formatted', status='old') c.. read results of analysis and initialize counters: c 200 continue c c...INPUT: c c...first block c...Vp mean, Vp variance, Vr mean, Vr variance c...Vt mean, Vt variance, Vn mean, Vn variance c...Va mean, Va variance c...Tp mean, Tp variance, Np mean,Np variance c...beta mean, beta variance, zlambda_ii mean, zlambda_ii variance c...Bmag mean, Bmag variance, Brms mean, Brms variance c...Br mean, Br variance, Bt mean, Bt variance c...Bn mean, Bn variance, Bvar, sigma_Bvar c...Bmag variance**2, Bmag*82 variqnce, Br variance**2, Br**2 variance c...Bt variance**2, Bt**2 variance, Bn variance**2, Bn**2 variance c...Vp variance**2, Vp**2 variance, Vr variance**2, Vr**2 variance c...Vt variance**2, Vt**2 variance, Vn variance**2, Vn**2 variance c c...second block c...V variance,sigma V variance c...VdotB average,VdotB average variance, VdotB instantaneous,VdotBinstantaneous variance c...B anisotropy,V anisotropy c...Btrace A,Btrace B,Btrace A sigma,Btrace B sigma ! Linefit dtata for y = a + bx c...Vtrace A,Vtrace B,Vtrace A sigma,Vtrace B sigma c...Temp A,Temp A sigma,Temp B,Temp B sigma c...Np A,Np A sigma,Np B,Np B sigma c...Bx A,Bx A sigma,Bx B,Bx B sigma c...By A,By A sigma,By B,By B sigma c...Bz A,Bz A sigma,Bz B,Bz B sigma c...Vx A,Vx A sigma,Vx B,Vx B sigma c...Vy A,Vy A sigma,Vy B,Vy B sigma c...Vz A,Vz A sigma,Vz B,Vz B sigma c c...third block c...Bx A (rtn),Bx A sigma (rtn),Bx B (rtn),Bx B sigma (rtn) c...By A (rtn),By A sigma (rtn),By B (rtn),By B sigma (rtn) c...Bz A (rtn),Bz A sigma (rtn),Bz B (rtn),Bz B sigma (rtn) c...Vx A (rtn),Vx A sigma (rtn),Vx B (rtn),Vx B sigma (rtn) c...Vy A (rtn),Vy A sigma (rtn),Vy B (rtn),Vy B sigma (rtn) c...Vz A (rtn),Vz A sigma (rtn),Vz B (rtn),Vz B sigma (rtn) c.. Btrace A (rtn),Btrace B (rtn),Btrace A sigma (rtn),Btrace B sigma (rtn) c...Vtrace A (rtn),Vtrace B (rtn),Vtrace As igma (rtn),Vtrace B sigma (rtn) c...Vx mean, Vx Variance, Bx mean, Bx Variance c...Vy mean, Vy variance, By mean, By variance c...Vz mean, Vz variance, Bz mean, Bz variance c...Vx variance**2, Vy variance**2, Vz_variance**2 c...Bx variance**2, By variance**2, Bz_variance**2 c read(18,900,end=9000) iy1, t1, . Vsw,Vsw2,Vr_mean,Vr_mean2, . Vt_mean,Vt_mean2,Vn_mean,Vn_mean2, . Va_mean,Va_mean2, . pTemp,pTemp2,pDen,pDen2, . beta,beta2,zlambda_ii,zlambda_ii2, . B,B2,Brms_mean,Brms_mean2, . Br_mean,Br_mean2,Bt_mean,Bt_mean2, . Bn_mean,Bn_mean2,Bvar,sigma_Bvar, . B_squared,B2_squared,Br_mean_squared,Br_mean2_squared, . Bt_mean_squared,Bt_mean2_squared,Bn_mean_squared,Bn_mean2_squared, . Vsw_squared,Vsw2_squared,Vr_mean_squared,Vr_mean2_squared, . Vt_mean_squared,Vt_mean2_squared,Vn_mean_squared,Vn_mean2_squared read(18,901,end=9001) Vvar,sigma_Vvar, . VdotB_aver,VdotB_aver_var,VdotB_inst,VdotB_inst_var, . Baniso,Vaniso, . Btrace_A,Btrace_B,Btrace_sigmaA,Btrace_sigmaB, . Vtrace_A,Vtrace_B,Vtrace_sigmaA,Vtrace_sigmaB, . Tp_A,Tp_sigmaA,Tp_B,Tp_sigmaB, . Np_A,Np_sigmaA,Np_B,Np_sigmaB, . Bx_A,Bx_sigmaA,Bx_B,Bx_sigmaB, . By_A,By_sigmaA,By_B,By_sigmaB, . Bz_A,Bz_sigmaA,Bz_B,Bz_sigmaB, . Vx_A,Vx_sigmaA,Vx_B,Vx_sigmaB, . Vy_A,Vy_sigmaA,Vy_B,Vy_sigmaB, . Vz_A,Vz_sigmaA,Vz_B,Vz_sigmaB read(18,902,end=9002) Bx_A_rtn,Bx_sigmaA_rtn,Bx_B_rtn,Bx_sigmaB_rtn, . By_A_rtn,By_sigmaA_rtn,By_B_rtn,By_sigmaB_rtn, . Bz_A_rtn,Bz_sigmaA_rtn,Bz_B_rtn,Bz_sigmaB_rtn, . Vx_A_rtn,Vx_sigmaA_rtn,Vx_B_rtn,Vx_sigmaB_rtn, . Vy_A_rtn,Vy_sigmaA_rtn,Vy_B_rtn,Vy_sigmaB_rtn, . Vz_A_rtn,Vz_sigmaA_rtn,Vz_B_rtn,Vz_sigmaB_rtn, . Btrace_A_rtn,Btrace_B_rtn,Btrace_sigmaA_rtn,Btrace_sigmaB_rtn, . Vtrace_A_rtn,Vtrace_B_rtn,Vtrace_sigmaA_rtn,Vtrace_sigmaB_rtn, . Vx_mean,Vx_mean2,Bx_mean,Bx_mean2, . Vy_mean,Vy_mean2,By_mean,By_mean2, . Vz_mean,Vz_mean2,Bz_mean,Bz_mean2, . Vx_mean4,Vy_mean4,Vz_mean4, . Bx_mean4,By_mean4,Bz_mean4 900 format(1x,i4,1x,f7.3, . /3x,2(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,1(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4)) 901 format( 3x,1(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,1(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,4(1x,e12.4), . /3x,4(1x,e12.4), . /3x,4(1x,e12.4), . /3x,4(1x,e12.4), . /3x,4(1x,e12.4), . /3x,4(1x,e12.4), . /3x,4(1x,e12.4), . /3x,4(1x,e12.4)) 902 format(3x,4(1x,1pe12.4), . /3x,4(1x,1pe12.4), . /3x,4(1x,1pe12.4), . /3x,4(1x,1pe12.4), . /3x,4(1x,1pe12.4), . /3x,4(1x,1pe12.4), . /3x,4(1x,1pe12.4), . /3x,4(1x,1pe12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,2(1x,e12.4,1x,e12.4), . /3x,3(1x,e12.4), . /3x,3(1x,e12.4)) c if(iy1 .lt. iyear_start) go to 200 if((iyear_start .eq. iy1) .and. (t1 .lt. time_start)) go to 200 if(iy1 .gt. iyear_stop) go to 9000 if((iyear_stop .eq. iy1) .and. (t1 .gt. time_stop)) go to 9000 c COMPUTE YOUR SCIENCE HERE!!!!!! go to 200 c 9000 continue 9001 continue 9002 continue c write(6,*) "End of processing interval - stop!" c close(unit=18) stop end