::::::::::::::
0.readme.txt
::::::::::::::
Global Lagrangian Drifter Data
http://www.aoml.noaa.gov/envids/gld/
Two types of data are available:
metadata: deployment location and time, time of drogue loss, date of final transmission, etc. for each drifter. Interpolated data: contains the quality-controlled, interpolated drifter observations
Data Availability
Observation Dates: 1979/02/15 to 2010/03/31
Geographical Coordinates: latitude [89,-74] and longitude [-180,180]
FTP Instructions for Downloading the Entire Metadata file:
http://www.aoml.noaa.gov/envids/gld/FtpMetadataInstructions.php
To FTP the metadata file (ASCII text):
The file "buoydata_1_5000.dat-gz" contains data from the earliest 5000 drifters. It is not updated: if you have downloaded this file before, you do not need to download it again.
The file "buoydata_5000_MMMYY.dat-gz" contains the updated data, through month MMM of year YY.
Description of Metadata Fields
http://www.aoml.noaa.gov/envids/gld/general_info/dir_table.php
::::::::::::::
trj.f90
::::::::::::::
program trj
! Description: Create files for plotting drifter trajectories
!
! Author: aym
!
! Host: aofd30
! Directory: /work1/aym/teaching/13.JikkenII/13.svp
!
! Revision history:
! 2010-10-31 13:30
! Initial Version
integer ID, MM,YY,IDD, IYYY,MONTH,DAY
real DD,LAT,LON,TEMP,VE, VN,SPD,VARLAT,VARLON,VARTEMP
write(*,'(a)')'Prog.: trj'
write(*,*)''
open(20,file='drifter2009.bin',action='read',form='unformatted')
1000 read(20,end=1010) ID,MM,DD,YY,LAT,LON,TEMP !,VE, VN,SPD,VARLAT,VARLON,VARTEMP
IDD=int(DD)
julian=julday(YY,MM,IDD)
call caldat(JULIAN,IYYY,MONTH,DAY)
write(*,'(i7,i5,2i3,i8,i5,2i3)' ) ID,YY,MM,IDD,JULIAN,IYYY,MONTH,DAY
goto 1000
1010 continue
write(*,'(a)')'Done.'
write(*,*)
end program trj
!***********************************************************************
!
INTEGER FUNCTION JULDAY(IYYY,MONTH,DD)
!
! ********** SUBROUTINE DESCRIPTION:
!
! FINDS THE JULIAN DAY FROM A DATE.
!
! ********** ORIGINAL AUTHOR AND DATE:
!
! PRESS,FLANNERY,TEUKOLSKY,VETTERLING 1986.
! NUMERICAL RECIPES
!
! ********** ARGUMENT DEFINITIONS:
!
INTEGER IYYY,MONTH,DD
!
! NAME IN/OUT DESCRIPTION
!
! IYYY I YEAR
! MONTH I MONTH (1 TO 12)
! DD I DAY OF MONTH
! JULDAY O JULIAN DAY
!
! ********** COMMON BLOCKS:
!
! NONE
!
! ********** LOCAL PARAMETER DEFINITIONS:
!
INTEGER IGREG
PARAMETER (IGREG = 15 + 31*(10 + 12*1582))
!
! ********** LOCAL VARIABLE DEFINITIONS:
!
INTEGER JY,JM,JA
!
! NAME DESCRIPTION
!
!
! ********** OTHER ROUTINES AND FUNCTIONS CALLED:
!
! INT - INTRINSIC TRUNCATE
!
!---+67--1----+----2----+----3----+----4----+----5----+----6----+----7--
!
IF (IYYY .LT. 0) IYYY = IYYY + 1
IF (MONTH .GT. 2) THEN
JY = IYYY
JM = MONTH + 1
ELSE
JY = IYYY - 1
JM = MONTH + 13
ENDIF
JULDAY = INT(365.25*JY) + INT(30.6001*JM) + DD + 1720995
IF (DD + 31*(MONTH + 12*IYYY) .GE. IGREG) THEN
JA = INT(0.01*JY)
JULDAY = JULDAY + 2 - JA + INT(0.25*JA)
ENDIF
RETURN
END
!
!***********************************************************************
!
SUBROUTINE CALDAT(JULIAN,IYYY,MONTH,DD)
!
! ********** SUBROUTINE DESCRIPTION:
!
! GIVEN THE JULIAN DAY, RETURNS THE YEAR, MONTH AND DAY OF MONTH.
!
! ********** ORIGINAL AUTHOR AND DATE:
!
! PRESS,FLANNERY,TEUKOLSKY,VETTERLING 1986.
! NUMERICAL RECIPES
!
! ********** REVISION HISTORY:
!
!
! ********** ARGUMENT DEFINITIONS:
!
INTEGER JULIAN,IYYY,MONTH,DD
!
! NAME IN/OUT DESCRIPTION
!
! JULIAN I THE JULIAN DAY
! IYYY O THE YEAR
! MONTH O THE MONTH (1 TO 12)
! DD O THE DAY OF THE MONTH
!
! ********** COMMON BLOCKS:
!
! NONE
!
! ********** LOCAL PARAMETER DEFINITIONS:
!
INTEGER IGREG
PARAMETER (IGREG=2299161)
!
! ********** LOCAL VARIABLE DEFINITIONS:
!
INTEGER JALPHA,JA,JB,JC,JD,JE
!
! NAME DESCRIPTION
!
!
! ********** OTHER ROUTINES AND FUNCTIONS CALLED:
!
!
!---+67--1----+----2----+----3----+----4----+----5----+----6----+----7--
!
!
IF (JULIAN .GE. IGREG) THEN
JALPHA = INT(((JULIAN - 1867216) - 0.25)/36524.25)
JA = JULIAN + 1 + JALPHA - INT(0.25*JALPHA)
ELSE
JA = JULIAN
ENDIF
JB = JA + 1524
JC = INT(6680. + ((JB - 2439870) - 122.1)/365.25)
JD = 365*JC + INT(0.25*JC)
JE = INT((JB - JD)/30.6001)
DD = JB - JD - INT(30.6001*JE)
MONTH = JE - 1
IF (MONTH .GT. 12) MONTH = MONTH - 12
IYYY = JC - 4715
IF (MONTH .GT. 2) IYYY = IYYY - 1
IF (IYYY .LE. 0) IYYY = IYYY - 1
RETURN
END
::::::::::::::
a2b.f90
::::::::::::::
program a2b
! Description: asc to binary
!
! Author: aym
!
! Host: aofd30
! Directory: /work1/aym/teaching/13.JikkenII/13.svp
!
! Revision history:
! 2010-10-31 12:57
! Initial Version
!
!
! use
! implicit none
character (len=500) :: strm
integer ID,MM,YY
real DD,LAT,LON,TEMP,VE, VN,SPD,VARLAT,VARLON,VARTEMP
write(*,'(a)')'Prog.: a2b'
write(*,*)''
open(10,file='drifter2009.asc',status='old',action='read')
open(20,file='drifter2009.bin',action='write',form='unformatted')
1000 read(10,'(A)',end=1010)strm
! write(*,*)trim(adjustl(strm))
read(strm,*,end=1010) &
& ID,MM,DD,YY, LAT,LON,TEMP !,VE, VN,SPD,VARLAT,VARLON,VARTEMP
write(20)ID,MM,DD,YY, LAT,LON,TEMP !,VE, VN,SPD,VARLAT,VARLON,VARTEMP
goto 1000
1010 continue
write(*,'(a)')'Done.'
write(*,*)
end program a2b
::::::::::::::
b2t.f90
::::::::::::::
program b2t
! Description:
!
! Author: aym
!
! Host: aofd30
! Directory: /work1/aym/teaching/13.JikkenII/13.svp
!
! Revision history:
! 2010-10-31 13:18
! Initial Version
!
!
! use
! implicit none
integer ID,MM,YY
real DD,LAT,LON,TEMP,VE, VN,SPD,VARLAT,VARLON,VARTEMP
write(*,'(a)')'Prog.: b2t'
write(*,*)''
open(20,file='drifter2009.bin',action='read',form='unformatted')
open(10,file='drifter2009.txt',action='write')
1000 read(20,end=1010) &
& ID,MM,DD,YY, LAT,LON,TEMP !,VE, VN,SPD,VARLAT,VARLON,VARTEMP
write(10,'(i7,i5,i3,f8.3,f9.3,f10.3,f10.3)' )ID,YY,MM,DD,LAT,LON,TEMP !,VE, VN,SPD,VARLAT,VARLON,VARTEMP
write(*,'(i7,i5,i3,f8.3,f9.3,f10.3,f10.3)' ) ID,YY,MM,DD, LAT,LON,TEMP !,VE, VN,SPD,VARLAT,VARLON,VARTEMP
goto 1000
1010 continue
write(*,'(a)')'Done.'
write(*,*)
end program b2t