Revised HOPS format:
title = sample header
stations = 659
max. pts. per sta. = 496
fields = 5
max. flds. per sta. = 5
str_time = 10684.2930, Aug 23 1997 07:01:52
end_time = 10726.7578, Oct 4 1997 18:11:15
Jday_offset = 2440000
lat_min = 34.4530
lat_max = 40.5000
lon_min = 14.9710
lon_max = 22.9910
format = ascii, record interleaving
creation_date = Tue Oct 14 12:02:44 1997
history = filt(M,3,2000); filt(G,6); stable
VARIABLES
depth
long_name: depth below sea level
short_name: depth
units: meter
type: scalar
scale: 1.00E-01
_FillValue: -10
FieldWidth: 5
temp
long_name: temperature
short_name: temperature
units: Celsius
type: scalar
scale: 1.00E-03
_FillValue: 99999 (-300 would be better, but won't fit)
FieldWidth: 5
salt
long_name: salinity
short_name: salinity
units: PSU
type: scalar
scale: 1.00E-03
_FillValue: -1000
FieldWidth: 5
refsurf
long_name: reference surface for dynamic height
short_name: reference surface
units: meter
type: scalar
scale: 1.00E-01
_FillValue: -10
FieldWidth: 5
vtot
long_name: total velocity
short_name: velocity
units: centimeter second-1
type: 2-vector
components: zonal, meridional
scale: 1.00E-02
_FillValue: 999999
FieldWidth: 6
END
Then could use this information to
The counting of fields depends on context:
- When counting the number of fields in the fields
line of the main header or in the enumeration of the variables descriptors,
an n-vector counts as one (1) field
- When counting the number of fields in the max. flds.
per sta. line of the main header or in the count per data block,
an n-vector counts as n fields
Finally, have moved the scaling factors to the file header. Instead of just
shortening the cast header, consider replacing the scaling data
with error estimates.
- Initialize error level with scale.
- Make programs which affect data (filtering) keep
track of changes. Use RMS differences to update errors.