c	To retrieve data of Te and NE from Hinotori  files.
	dimension iad(30),mon(12),nopt(600,240),nope(600,240)
	dimension itele(600,240),elend(600,240)
	character*10 rdfile,wrfile
c	print*,'rdfile,wrfile'
c	read(*,*)rdfile,wrfile
c	open(20,file=rdfile,status='old')
c	open(40,file=wrfile)
	open(20,file='hinotori.8112',status='old')
	open(40,file='hino8112.out')
	open(45,file='hino8112.tel')
	open(50,file='hino8112.nop')
	open(55,file='hino8112.ele')
	data mon/31,28,31,30,31,30,31,31,30,31,30,31/
	do2i=1,600
	do2j=1,240
	itele(i,j)=0
	elend(i,j)=0.
	nopt(i,j)=0
	nope(i,j)=0
 2	continue
	ifirst=0
 10	read(20,*,end=100)(iad(k),k=1,30)
40	format(1x,3i5,i10,i6,)
	iday=0
	month=iad(3)
	iy=iad(2)
	iy=iy-(iy/100)*100
	if((iy/4)*4.eq.iy)mon(2)=29
	do5i=1,12
	if(month.le.i)goto12
	iday=iday+mon(i)
   5	continue
   12	iday1=iday+iad(4)
	iday2=iday+iad(10)
	if(ifirst.eq.0)write(40,40)(iad(k),k=1,3),iday1
	if(ifirst.eq.0)write(40,40)(iad(k),k=8,10),iday2
	ifirst=1
c	if(iday1.ne.90.and.iday2.ne.90)go to 69
	it1=iad(4)
	it2=iad(10)
	kor=iad(1)
	mlat=iad(16)/100.
	iht=iad(17)/100.
	lat=iad(15)/100.
	long=iad(14)/100.
	iut=(iad(5)*60+iad(6))*60.+iad(7)
	time2=iad(11)+iad(12)/60.+iad(13)/3600.
	idata=iad(19)+iad(21)+iad(22)
	if(idata.eq.0)go to 10
	if(iad(19).eq.0)iad(19)=-1
	if(iad(21).eq.0)iad(21)=-1
	if(iad(22).eq.0)iad(22)=-1
	elenden=iad(19)
	ite1=iad(21)
	ite2=iad(22)
	ite3=iad(23)
	write(40,65)kor,iday1,iut,iht,lat,long,mlat,time2,
     1	ite1,ite2,ite3,elenden,it2
 69	continue
65	format(1x,i6,i4,i6,i5,3i4,f6.1,3i6,e12.3,i3)
57	format(1x,i7,4f6.1,3f8.1,e12.3)
c	average over time and magnetic latitude of 1 hour and 1 degree
	lt=time2+.5
	if(lt.eq.0)lt=24
	mlt=mlat+35
	do20i=1,70
	do20j=1,24
	if(ite1.eq.-1)go to22
	if(mlt.eq.i.and.lt.eq.j)itele(i,j)=itele(i,j)+ite1
	if(mlt.eq.i.and.lt.eq.j)nopt(i,j)=nopt(i,j)+1
 22	continue
	if(elenden.lt.0)goto20
	if(mlt.eq.i.and.lt.eq.j)elend(i,j)=elend(i,j)+elenden/1.e+05
	if(mlt.eq.i.and.lt.eq.j)nope(i,j)=nope(i,j)+1
 20	continue
c	if(iday1.gt.90.and.iday2.gt.90)go to 100
	go to 10
50	format(1x,2i7,i5,4f6.1,4f7.1,6f6.1,2e10.2)
55	format(1x,i7,2f6.1,3f8.1,2f6.1,2e12.3)
100	continue
	do250i=1,70
	do200j=1,24
	if (nopt(i,j).eq.0)go to 202
	itele(i,j)=itele(i,j)/nopt(i,j)
202	continue
	if (nope(i,j).eq.0)go to 200
	elend(i,j)=elend(i,j)/nope(i,j)
 200	continue
	mlt=i-35
	write(45,205)mlt,(itele(i,j),J=1,24)
	write(50,205)mlt,(nopt(i,j),j=1,24)
	write(55,215)mlt,(elend(i,j),J=1,24)
	write(60,205)mlt,(nope(i,j),j=1,24)
 250	continue
 205	format(1x,i4,24i5)
 215	format(1x,i4,24f5.1)
	end
