Printer Friendly Version

Original HURDAT format

Link to the Best Track

This documentation is based upon "A tropical cyclone data tape for the North Atlantic basin, 1886-1983: Contents, limitations, and uses", NOAA Technical Memorandum NWS NHC 22 (1984) written by B.R. Jarvinen, C.J. Neumann, and M.A.S. Davis. The HURDAT is the 'best track' data set (so named as it is the 'best' track and intensity estimates of tropical cyclones as determined in a post-analysis of all available data) for the North Atlantic maintained by the TPC.


There are three basic types of datalines in the HURDAT for each storm. :

  • HEADER:
    92620 08/16/1992 M=13  2 SNBR= 899 ANDREW      XING=1 SSS=4
    Card# MM/DD/Year Days S# Total#... Name........US Hit.Hi US category
    
  • DAILY DATA:
    92580 04/22S2450610  30 1003S2490615  45 1002S2520620  45 1002S2550624  45 1003*
    Card# MM/DD&LatLongWindPress&LatLongWindPress&LatLongWindPress&LatLongWindPress
    
  • TRAILER:
    92760 HRCFL4BFL3 LA3
    Card# TpHit.Hit.Hit.
    


Saffir-Simpson Scale
Saffir-Simpson
Category
Maximum sustained wind speed
mphm/s kts
1 74-95 33-42 64-82
2 96-110 43-49 83-95
3 111-130 50-58 96-113
4 131-155 59-69 114-135
5 156+ 70+ 136+


FORTRAN Code to read in HURDAT data
example by Bill Thorson

      integer	year(200),month(200),day(200),hour(200),
     +     vmax(200),mslp(200)
      real	lat(200),lon(200)
      character state(200),stname*11,what*2
      character arg*60

      if (iargc() .ne. 1) then
         print *, 'usage: atlread track-file'
         goto 1000
      endif
      call getarg(1,arg)
      open(unit=3,file=arg,status='old',err=1)
      goto 2
 1    print *, 'cannot open track file ',arg
      goto 1000
 2    continue

 10   read (3,11,end=100) imonth,iday,iyear, nbrdays, istmnr,
     +  stname,istrength
 11     format(6x,i2,x,i2,x,i4,3x,i2,x,i2,11x,a11,12x,i1)

        do 20 i = 1, nbrdays
           j = (i-1)*4+1
           read (3,101) imonth, iday,
     +          (state(k),lat(k),lon(k),vmax(k),mslp(k),k=j,j+3)
 101       format(6x,i2,x,i2,4(a1,f3.1,f4.1,x,i3,x,i4))

           do 15 k=j,j+3
              year(k) = iyear
              month(k) = imonth
              day(k) = iday
              hour(k) = mod(k+3,4)*6
              if (vmax(k) .eq. 0) vmax(k)=-99
              if (mslp(k) .eq. 0) mslp(k)=-999
 15        continue
 20     continue
        read (3,102) what
 102    format(6x,a2)

        do 30 i=1,j+3
           if (lat(i).ne.0.0 .and. lon(i).ne.0.0) then
              print 103, iyear,istmnr,stname,
     +             year(i),month(i),day(i),hour(i),
     +             lat(i),lon(i),vmax(i),mslp(i)
 103          format(i4,i2.2,1x,a10,1x,i4,3(1x,i2),1x,f5.1,1x,f6.1,1x,
     +             i3,1x,i4)
           endif
 30     continue
      goto 10

 100  close(3)
 1000 end
Stay Connected