from numpy import *
from matplotlib.pyplot import *
import sys as sys
import numpy as np
import matplotlib as mpl
mpl.rcParams['xtick.major.size'] = 8
mpl.rcParams['xtick.minor.size'] = 4
mpl.rcParams['xtick.major.width'] = 1.5
mpl.rcParams['xtick.minor.width'] = 1.5
mpl.rcParams['ytick.major.size'] = 8
mpl.rcParams['ytick.minor.size'] = 4
mpl.rcParams['ytick.major.width'] = 1.5
mpl.rcParams['ytick.minor.width'] = 1.5

ticksize=16
labelsize=18


year =sys.argv[1]
start=sys.argv[2]
stop =sys.argv[3]



print year

factor=128.9438
# Doy Velocity Density Thermal_Velocity 
# 0     1        2           3
pmdata=loadtxt('../../../STOF/pm_data_modify/pm_standardise_%s.dat'%(year),skiprows=1)
pmdoymask=(pmdata[:,0]>int(start))*(pmdata[:,0]<int(stop))
pmmask=pmdoymask*(pmdata[:,1]>0)



#[year,doy,helium1array,helium1mean,helium1var,helium2array,helium2mean,helium2var]
heliumdata=loadtxt('../../../STOF/pmdata/stof_Helium_%s_year.txt'%year)
heliummask=(heliumdata[:,1]>int(start))*(heliumdata[:,1]<int(stop))


semw=loadtxt('/home/et162/yu/stof/GCR/together/semw98.txt')
semn=loadtxt('/home/et162/yu/stof/GCR/together/semn98.txt')
semmaskw=(semw[:,0]>int(start))*(semw[:,0]<int(stop))
semmaskn=(semn[:,0]>int(start))*(semn[:,0]<int(stop))
ephin=loadtxt('/home/et162/yu/stof/GCR/together/sci_f98.txt')
ephinmask=(ephin[:,0]>int(start))*(ephin[:,0]<int(stop))


stofdata=loadtxt('../../../STOF/pmdata/stof_%s_year.txt'%(year))
stofmask=(stofdata[:,1]>int(start))*(stofdata[:,1]<int(stop))
flux,bins=np.histogram(stofdata[:,1][stofmask],bins=np.arange(int(start),int(stop),300./86400))

fig=figure(figsize=(8,10))

fignum=4
ax1=fig.add_subplot(fignum,1,1)
ax1.plot(pmdata[:,0][pmmask],pmdata[:,1][pmmask],'b',label='SOHO Wind Speed')
ax1.set_ylabel('$\mathrm{\mathsf{V_{sw}}}$'+'\n'+'[km/sec]',fontsize=labelsize)
#ax1.legend(loc=2)
ax1.set_ylim(200,999)
yticks([400,500,600,700,800,900],fontsize=ticksize)
ax1.set_xticks(())
#ax1.set_xticks(arange(int(start)+1,int(stop)))
#ax2=ax1.twinx()
#ax2.plot(acedata[:,0][acemask],acedata[:,1][acemask],'r',label='ACE Wind Speed')
#ax2.set_yticks(())
#ax2.set_xticks(arange(int(start)+1,int(stop)))
xlim(int(start),int(stop))

#title('Year%s_%s_%s'%(year,start,stop),fontsize=20)
##boundary location


ax1=fig.add_subplot(fignum,1,2)
ax1.plot(semw[:,0][semmaskw],semw[:,1][semmaskw])
ax1.plot(semn[:,0][semmaskn],semn[:,1][semmaskn])
ax1.set_ylabel("UV flux \n$\mathrm{\mathsf{[cm^{-2}s^{-1}]}}$",fontsize=labelsize)
ax1.set_yscale('log')
yticks(fontsize=ticksize)
ax1.set_xticks(())

ax1=fig.add_subplot(fignum,1,3)
ax1.plot(ephin[:,0][ephinmask],ephin[:,1][ephinmask])
ax1.set_ylabel("EPHIN F\n$\mathrm{\mathsf{[cm^{-2}s^{-1}]}}$",fontsize=labelsize)
ax1.set_yscale('log')
yticks(fontsize=ticksize)
setp(ax1.get_yticklabels()[5], visible=False)
ax1.set_xticks(())

##boundary location

ax4=fig.add_subplot(fignum,1,4)

#errorbar(heliumdata[:,1][heliummask],heliumdata[:,2][heliummask]-heliumdata[:,3][heliummask],yerr=sqrt(heliumdata[:,2][heliummask]+heliumdata[:,4][heliummask]**2),fmt='o-',label='He+ Flux')
#errorbar(heliumdata[:,1][heliummask],heliumdata[:,3][heliummask],yerr=heliumdata[:,4][heliummask],label='He+ Background',fmt='o-')
#legend(loc=2)

#plot(heliumdata[:,1][heliummask],heliumdata[:,5][heliummask],'o-',label='He++ Flux')
errorbar(heliumdata[:,1][heliummask],heliumdata[:,5][heliummask]-heliumdata[:,6][heliummask],yerr=sqrt(heliumdata[:,5][heliummask]+heliumdata[:,7][heliummask]**2),fmt='bo-',label='He++ Flux')

errorbar(heliumdata[:,1][heliummask],heliumdata[:,6][heliummask],yerr=heliumdata[:,7][heliummask],label='He++ Background',fmt='ro-')

#legend(loc=1)
#legend(loc=2,prop={'size':13})
ylabel('Flux'+'\n'+'[arb.unit]',fontsize=labelsize)
ylim(1e-2,9e3)
yticks([1e-2,1e-1,1,1e1,1e2,1e3],fontsize=ticksize)
#xticks(arange(int(start)+1,int(stop)))
yscale('log')

xlim(int(start),int(stop))
xticks(fontsize=ticksize)
##boundary location
ax4.tick_params(axis='x',which='major',top='off')
setp(ax4.get_yticklabels()[1], visible=False)

xlabel('DOY in 1998',fontsize=labelsize)
show()
tight_layout(pad=1.,h_pad=-1.5,w_pad=0)
print



