The CalCOFI IEH archive includes two versions: observed data only (YYMMarch.ieh) and observed data plus interpolated standard levels (YYMMt.ieh). Interpolated data are added to allow standard depth comparisons & plotting when observed standard depths are not available.

The IEH format was developed in 1982 as the final bottle data archive format for CalCOFI data. The IEH format is 128 columns wide, based on the 128-col computer punch card used at the time. Decimals are removed to maximize data space resulting in a column-specfic format - see key below. In IEH files generated before Aug 1995, columns 64-65 contain format alignment characters (Z*) throughout all records; after Aug 1995, columns 64-65 report niskin bottle numbers on the bottle depth records. Interpolated depth do not have a bottle number so columns 64-65 are blank.

In 2006, the Station Id Line & Sta are reported to tenths (i.e., 81.8 46.9 instead of 82 47 or 86.7 100.0 instead of 87 100). This change allows the inclusion & resolution of coastal SCCOOS station data from nearby standard station data. SCCOOS stations can be within the 2 nautical mile radius of the standard station ie 93.3 26.4 SCCOOS & 93.3 26.7 Standard stations.

IEH stands for "Is Everybody Happy?" coined by programmer David Newton.

IEH Format 21Aug95
Specification:
** First Master Record **
Col. Notes
--------------------------------------------------------------------------
1-6 Latitude DDMMtH t=1/10 min. H = hemisphere (N or S)
7-13 Longitude DDDMMtH H = hemisphere (E or W)
14-19 Date YYMMDD
20-23 Cast time HHMM GMT This should be the time most representative of the data in the station.
24-28 Bottom sounding XXXXX meters
29-30 Wave direction XX 2 digit code. WMO 0885 (00-36,49)
31-32 " height XX feet
33-34 " period XX seconds
35-36 Wind direction XX 2 digit code. WMO 0877 (00-36,49)
37-38 " speed XX knots
39-43 Barometer XXXXX millibars to tenths.
44-47 Dry bulb air temp. XXXX deg. celsius to tenths.
48-51 Wet " " " XXXX " " " "
52 Weather X 1 digit code. WMO 4501.
53 Cloud type. X 1 digit code. WMO 0500.
54 Cloud amount X 1 digit code. WMO 2700. (oktas)
55 Visibility X 1 digit code. WMO 4300.
56-61 Ship code --------------------------------
56-57 XX country code. These 6 characters should indicate
58-59 XX institution code. ship ownership. Who owns the boat?
60-61 XX ship code. ---------------------------------
62-63 Data type XX 2 character code. "PR" = productivity.
   "HY" = hydrographic, "10" = ten-meter.
   "CT" = compressed ctd (low res.)
   "MX" = mixed ctd and bottle data.
64 'Z'
65 '*' Asterisk used for format alignment.
66-69 Processing number XXXX for data processing use only.
70-72 Cruise id XXX three characters for SD2 conversion.
73-74 Leg number XX
75-84 Station id XXXXXXXXXX alphanumeric 10 characters.
85-88 Data origin Whose data is it?
85-86 XX country code.
87-88 XX institution code.
89-103 Cruise name 15 character alphanumeric. Will be printed to data
reports.
104-111 name for data in wild column 1. 8 chars.. printed to data report.
112-119 " " " " " " 2. " " " " "
120-127 " " " " " " 3. " " " " "
128 '1' record indicator.

** Second Master Record **
-----------------------------------------------------------------------------
1 Blank used for format alignment
2-3 Secchi disk depth XX meters
4-5 Water color XX (0-21) Forel-Ule scale
6-13 Incubation times
6-9 HHMM start time (local)
10-13 HHMM end time (local)
14-17 Local apparent noon HHMM (local)
18-21 Civil twilight HHMM (local)
22-24 Time zone +/-HH hours preceeded by '+' or '-'
25-29 Integrated C14 assimilation XXXXX milligrams/m^2 /experiment to 10ths.
30-33 Integrated Chlor-A XXXX milligrams/m^2 to 10ths.
34-37 Integrated Phaeopigment XXXX milligrams/m^2 to 10ths.
38-63 Ship name 26 character alphanumeric. Printed to data report.
64 'Z' alignment character.
65 '*' alignment character.
66-82 Blanks (17)
83-85 Interpolation flags. Used by an interpolation program to signal that you want data in the wild columns to be interpolated.  Defaults to no interpolation.
83 Wild col 1. 'I' to interpolate. Blank for no interpolation.
84 " " 2. " " " " " "
85 " " 3. " " " " " "
86-103 Runtime formats used by programs to fill the wild columns with data. The formats must be of the form "(F7.x)" and be 6 chars long. x can range from 0 to 6. If the wild columns are used these formats must be specified.
86-91 format for wild column 1. Blank if none.
92-97 " " " " 2. " " "
98-103 " " " " 3. " " "
104-111 units for parameter in wild column 1. 8 character alphanumeric.  Will be printed to data report.
112-119 units for wild column 2.
120-127 units for wild column 3.
128 '2' record indicator.

** Detail Record **
---------------------------------------------------------------------------
1-5 Depth XXXXX whole meters
6 Footnote indicator 1 chararcter. Used as a general footnote indicator. Printed to data report.
7-11 Temperature XXXXX deg. celsius. Last column is 1000ths.  Trailing blanks permitted.
12 " precision X 1,2,or3 or blank if no temperature.
13 " quality X quality code.
14-18 Salinity XXXXX Last column is 1000ths. Trailing blanks OK.
19 " precision X 1,2,or3 or blank if no salinity.
20 " quality X quality code.
21-26 Pressure XXXXXX decibars to 10ths.
27 " quality X quality code.
28-31 Oxygen XXXX milliliters/liter to 100ths. range .00->99.99
32 " quality X quality code.
33-36 Phosphate XXXX ugram-atoms/liter to 100ths. range .00->99.99
37 " quality X quality code.
38-41 Silicate XXXX ugram-atoms/liter to 10ths. range .0->999.9
42 " quality X quality code.
43-46 NO2 (Nitrite) XXXX ugram-atoms/liter to 100ths. range .00->99.99
47 " quality X quality code.
48-50 NO3 (Nitrate) XXX ugram-atoms/liter to 10ths. range .0->99.9
51 " quality X quality code.
52-55 NH3 XXXX ugram-atoms/liter to 100ths. range .00->99.99
56 " quality X quality code.
57-60 Chlorophyll-A XXXX milligrams/meter^3 to 100ths. range .00->99.99
61 " quality X quality code.
62-63 Cast number XX
64-65 Bottle id number XX (formerly 'Z*' for alignment prior to Aug 1995)
66-69 Phaeopigment XXXX milligrams/meter^3 to 100ths. range .00->99.99
70 " quality X quality code.
71-75 C14 assimilation #1 XXXXX milligrams/meter^3/experiment.  last column is 100ths. range .00->999.99 trailing blank permitted.
76 " precision X 1,2,or blank if not recorded.
77 " quality X quality code.
78-82 C14 assim. #2 XXXXX milligrams/meter^3/experiment.  last column is 100ths. range .00->999.99 trailing blank permitted.
83 " precision X 1,2,or blank if not recorded.
84 " quality X quality code.
85-87 Dark C14 assim. XXX milligrams/meter^3/experiment. Last column is 100ths. range .00->9.99. trailing blank permitted.
88 " precision X 1,2,or blank if not recorded.
89 " quality X quality code.
90-94 Mean C14 assim. XXXXX milligrams/meter^3/experiment. Last column is 100ths. range .00->999.99 trailing blank permitted.
95 " precision X 1,2,or blank if not recorded.
96 " quality X quality code.
97-100 Elapsed incubation time HHMM
101-103 Light percent (incubation). XXX to 10ths.  punch decimal to record 100ths below 1 percent.
104-110 Wild column 1. XXXXXXX Any data value that can fit. Punch explicit decimal. No trailing blanks allowed.
111 " quality X quality code.
112-118 Wild column 2. XXXXXXX Any data value that can fit. Punch explicit decimal. No trailing blanks allowed.
119 " quality X quality code.
120-126 Wild column 3. XXXXXXX Any data value that can fit. Punch explicit decimal. No trailing blanks allowed.
127 " quality X quality code.
128 Record indicator. 3,4,5,6,or7
3==observed data. 4==educated office guess (ghost)
5==data from std or ctd device (low resolution)
6==multiple depth card.
7==interpolated to a standard depth.

** Footnote Record **
----------------------------------------------------------------------------
1-63 Text
64 'Z'
65 '*'
66-127 Text
128 '8' record indicator

A footnote record may appear only after the detail records for a station and will be printed to the data report. Columns 64 and 65 will be ignored on printout.

** Text Record **
----------------------------------------------------------------------------
1-63 Text
64 'Z'
65 '*'
66-127 Text
128 '9' record indicator

A text record can appear anywhere in the file except directly after the first master record.. The information will not be printed to data reports, but will remain with the data.
-----------------------------------------------------------------------------
** Codes and usage **

1. Quality code. Used on the detail records.
   blank == data ok
   '6' == data ok,but taken from a ctd device.  (used only when data is, on the whole, considered to be bottle data)
   '8' == originator thinks value is suspect.
   '9' == missing data
2. Examples of Calcofi station numbers. b=blank
b93bbb40bb 110bbb40bb
110bbb40.2 b93.1b40bb
b93.2b40.1 110.1100.3
3. Missing or unrecorded data MUST be indicated with a '9' in the quality code.
4. Trailing blanks are only allowed when specifically mentioned and when they are mentioned, their use is required if the precision
is less than the maximum.
5. The ship ownership country and institution can be different from the data ownership country and institution.
6. The format can be folded into a 64 character variety if that makes data entry more convenient, but the specification and any application programs will operate on the 128 character variety listed here.
7. Any interpretation problems should be referred to Jennifer Rodgers-Wolgast at x42888.
8. The first master record should be immediately followed by the second master record.
9. Times in HHMM format should be written with no embedded blanks.
10. Ghostcards (rectyp=4) are used for interpolation but not printed to data reports. Multiple depth cards (rectyp=6) are *not* used for interpolation but *are* printed to data report.

Revisions:
5/12/87 dmn. Probably added some notes.
5/ 9/91 dmn. Added word incubation to light percent explanation.
8/21/95 dmn. added bottle id number to data records. added rcord type 6 (multiple depth card).  added usage note 10.
8/95 jrw. changed col 64-65 from *Z format verification to bottle number