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