program detect_TC_track Implicit none Character*4:: cyr="2013" Integer,parameter:: nfile=60 Character*50:: cfile Character*100:: idir Real,parameter:: min_lon=100.0, max_lon=180, min_lat=0, max_lat=40 Real:: tmp, lon, lat, wind Real,dimension(30,100):: tc_lon, tc_lat, tc_wind Integer,dimension(30,100):: tc_day, tc_mon, tc_year,tc_hour Integer,dimension(30):: nstep Real,parameter:: rmis=-99.0 Integer:: day, mon, hour Real, parameter:: wind_threshold=10.8 Integer:: flag, itmp, tc_tmp, ntc_tmp tc_year=2013 tc_lon=rmis tc_lat=rmis tc_wind=rmis idir="/work/users/hapt/for_First/TC_track/" itmp=0 flag=0 tc_tmp=0 Open(3,file=trim(cyr)//"_TCs.txt",status="unknown") Open(1,file="TC_"//trim(cyr)//".list",status="unknown") Do while (.TRUE.) Read(1,*,end=10) cfile !Write(*,*) cfile flag=0 itmp=0 Open(2,file=trim(idir)//trim(cfile),status="unknown") !write(*,*) trim(idir)//trim(cfile) Read(2,*) Read(2,*) Read(2,*) Do while (.TRUE.) Read(2,*,end=11) tmp, lat, lon, mon, day, hour, wind wind=wind*0.514 If (wind.ge.wind_threshold) then If (min_lon.le.lon.and.lon.le.max_lon) then If (min_lat.le.lat.and.lat.le.max_lat) then If (flag.eq.0) then tc_tmp=tc_tmp+1 flag=1 write(*,*) cfile Write(3,"(A8,2x,I5)") "TC ---", tc_tmp End if itmp=itmp+1 Write(3,"2(I2,3x),a4,2x,I2,2x,3(F6.1,2x)") day, mon, cyr, hour, lon, lat, wind tc_lon(tc_tmp,itmp)=lon tc_lat(tc_tmp,itmp)=lat tc_wind(tc_tmp,itmp)=wind tc_day(tc_tmp,itmp)=day tc_mon(tc_tmp,itmp)=mon tc_hour(tc_tmp,itmp)=hour End if End if End if End do 11 Close(2) nstep(tc_tmp)=itmp End do 10 Close(1) ntc_tmp=tc_tmp Close(3) ! print Open(4,file=trim(cyr)//"_TCs.txt",status="unknown") Write(4,*) "TC#; ", ntc_tmp Do tc_tmp=1,ntc_tmp Write(4,*) " ---------------------------------- " Write(4,*) "TC#;", tc_tmp Write(4,*) "Num_Obs:", nstep(tc_tmp) Do itmp=1,nstep(tc_tmp) Write(4,"2(I2,3x),I4,2x,I4,2x,3(F6.1,2x)") tc_day(tc_tmp,itmp),tc_mon(tc_tmp,itmp),tc_year(tc_tmp,itmp),tc_hour(tc_tmp,itmp), tc_lon(tc_tmp,itmp), tc_lat(tc_tmp,itmp), tc_wind(tc_tmp,itmp) End do End do Close(4) End