A.2 Vertical Temperature Profiles Data Format


The vertical temperature profiles are stored in direct access files with a variable record length.  To store the 
header information, the minimum record length is 128 bytes.


The first record is a header record containing the following information :

Bytes	  Type	     Variable
 1-2	   I*2	Record length
 3-4	   I*2	Number of header records  (here: 1)
 5-6	   I*2	Data type where :
		1 = unsigned byte	2 = unsigned integer*2
		3 = not used		4 = signed integer*4
		5 = Real*4		6 = signed byte
		7 = signed integer*2
 7-8	   I*2	Number of profile data points   ( total number of depth intervals )
 9-10	   I*2	Number of profile lines stored
 11-12	   I*2	Depth interval of profile data points in tenths of meters
 13-13	   I*1	First day of profile data
 14-14	   I*1	First month of profile data
 15-16	   I*2	First year of profile data
 17-17	   I*1	Last day of profile data
 18-18	   I*1	Last month of profile data
 19-20	   I*2	Last year of profile data
 21-24	   R*4	Lower default value for main y-axis
 25-28	   R*4	Upper default value for main y-axis
 29-29	   I*1	Number of characters in title
 30-69	   A40	Title
 70-70	   I*1	Number of characters in subtitle
 71-90	   A20	Subtitle
 91-91	   I*1	Number of characters in legend
 92-111    A20	Legend


Records 2 through number of profile lines+1 hold the profile lines.  The temperature profile is stored as 
integer*2 values.  To convert the stored values to units, use the following conversion :

	Temperature = ( Input Value - Summand ) / Factor

Each profile is lead by a line header containing the following information :

Bytes	  Type     Variable
 1-1	   I*1	Day
 2-2	   I*1	Month
 3-4 	   I*2	Year ( not used here )
 5-6	   I*2	Time as HHMM ( not used here )
 7-10	   R*4	Factor
11-14	   R*4	Summand


To read the temperature profile and convert the input data use the following statement :

      integer*1 Day, Month
      integer*2 Year, Time, prftmp(500), I, RNum
      real*4    temperature(500), Summand, Factor

      n = NumOfDataPoints       ! from record 1, bytes 7&8
      do RNum=2, NumProfiles+1
        read (inputunit, rec=RNum) Day, Month, Year, Time, 
     &                             Factor, Summand, (prftmp(I), I=1, n)
        do I=1, n
          Temperature(I) = (prftmp(I) - Summand) / Factor
        enddo
         ...
      enddo