ASCII Code Manual for Quality Controlled Surface Meteorological Data
Shawn R. Smith and David Legler
Coupled Ocean Atmosphere Response Experiment (COARE)
Surface Meteorological Data Processing Center (DPC)
Center for Ocean-Atmospheric Prediction Studies
Florida State University
03 Aug 1995
Report COAREMET 95-11
The COARE American Standard Code for Information Interchange (ASCII) manual for quality controlled surface meteorological data outlines the codes used within the DPC surface meteorological data sets released to the COARE community. The code is a synthesis of the COADS
documentation (Slutz et al. 1985), standard World Meteorological Organization (WMO) synoptic code, and new codes derived at Florida State University (FSU). In many places numeric codes were used to keep the data set compact.
The COARE ASCII data file includes up to 24 possible variables. In some cases, multiple measurements of the same variable are available (e.g. sea temperature measured from a thermosalinograph and a bucket temperature) and are differentiated using sequentially numbered variable names (TS, TS2, TS3, TS4, etc). As described in section 2, variables include not only meteorological
data (temperature, pressure, etc.), but also a number of supporting variables (time of observation, platform position and movement, etc.). A variable containing quality control (QC) flags is included to indicate the QC applied to the data values. Multiple variable attributes provide information on data units, instruments used, instrument height, etc. in an attempt to provide an even mix between raw data and metadata. Eleven global attributes contain general information for all data within the ASCII file.
When the data that arrive at the Surface Meteorology DPC, the only change to the data is a simple conversion to a standard set of units. The original units are noted in a variable attribute. Any data arriving without an accurate time stamp or information on whether the time is local or GMT were discarded only after all attempts to obtain correct time information were exhausted. The data also must have position information, i.e. data lacking latitude and longitude values were discarded only after all attempts to correctly position the data failed. Furthermore, if data arrived with no units attached, only after every effort to determine their units was exhausted, were the data discarded. Data collected without a record of time, position, or units are useless to the research community. However, all original data contributions are archived in the event additional information is discovered later that would allow the inclusion of discarded data.
The ASCII file structure, an example is found in Appendix 1, begins with the file name followed by the eleven global attributes. The second part of the header is a table giving the values for the variable attributes. The final section of the file is the data in a column format with the variable names at the top of each data column. A sample FORTRAN code to read the ASCII file in Appendix 1 is presented in Appendix 2 and can be modified for any COARE ASCII file.
Section 2 outlines the data variables and attributes and describes all numeric codes that are employed. Section 3 covers the global attributes. Throughout the manual, variables will be indicated by bold type and attributes will be italicized.
Up to 24 variables with a maximum of 8 associated attributes may appear in a surface meteorology file for COARE, Table 1. All data files will contain the time, latitude, longitude, and quality control flag variables. The quality control flags are single alphabetic characters that represent either problems or notable features in the data. The quality control flags for multiple variables are combined in a single string and stored in the flag variable. The flag variable as a result is a character string that has a length equal to the number of variables that underwent quality control. (A list of the flags, their definitions, and an example of their usage is found in section 2x). For each variable, Table 1 shows whether or not that attribute is associated with a particular variable.
Table 1: Variable attribute list.
Variable long_name units convers_ type inst ht FORTRAN qcindex
ctc cruise code (see A9
track code text)
time time min. Table 2 I12 *
lat latitude degrees N Table 3 F9.2 *
lon longitude degrees E Table 3 F9.2 *
PL_HD platform degrees - * F9.1 *
PL_SPD platform m s-1 Table 5 * F9.1 *
DIR earth degrees - Table 4 * * F9.1 *
wind from N
SPD earth m s-1 Table 5 * * F9.1 *
P atmospheric mb Table 6 Table 7 * * F9.1 *
T air degrees C Table 8 * * F9.2 *
TW wet-bulb degrees C Table 8 * * F9.2 *TD
TD dewpoint degrees C Table 8 * * F9.2 *TD
TS sea degrees C Table 8 Table 9 * * F9.2 *
RH relative percent * * F9.1 *
Q specific g kg-1 * * F9.1 *
PRECIP precipitatio mm Table 10 * * F9.1 *
WX present code I6
weather (Table 11)
TCA total cloud code Table 13 I6
amount (Table 12)
LMCA low/middle code Table 13 I6
cloud amount (Table 12)
ZCL cloud height code I6
LCT low cloud code I6
type (Table 15)
MCT middle code I6
cloud type (Table 16)
HCT high cloud code I6
type (Table 17)
flag quality code A*
control (Table 18)
The definition of the attributes are:
A descriptive name for the variable which is given in Table 1.
The SI units used for the variable values. Since no data are useful without units, this attribute will always have a value (when
units is applicable). Units are given for most variables in Table 1. The exception are those variables that are coded (ctc, WX, etc.) which refer to the specific code table.
The units (SI, English, cgs, etc.) of the variable value when it arrived at the DPC. Again, since no data are useful without units, this attribute will always have a value when present. If a variable has convers_units, Table 1 references specific code tables for the convers_units.
A coded attribute that signifies the variable value as being a certain type. For example, type indicates if the pressure is station level or converted to sea level. Code tables for type are referenced in Table 1
A character attribute that contains the make, model number, manufacturer and/or type of instrument used to record the variable values. When no information on the instrument type is known, inst = "unknown". Table 1 lists whether or not an inst attribute exists for each variable.
The instrument height in meters above the station elevation (see Global Attributes, section 3). When unknown, ht = -999.9. Table 1 lists whether or not a ht attribute exists for a variable. NOTE: the height attribute for sea temperature is named "depth" and is a positive number in meters below sea level.
A FORTRAN specific format for printing each variable. The formats for ctc, time, WX, TCA, LMCA, ZCL, LCT, MCT, and HCT are a fixed length. The length of the flag FORTRAN_format varies depending on the number of variables that were quality controlled in the ASCII file. All floating point values are represented by F9.n where n indicates the decimal precision of the supplied data. The formats provided in Table 1 show the maximum precision a variable can have within the COARE ASCII file. As an example, lat and lon have a FORTRAN_format of
F9.2 in Table 1. If the position data we receive is accurate to two decimal places, the FORTRAN_format will remain F9.2. If the position data is only accurate to the tenths place the FORTRAN _format will be F9.1 and for data accurate to the whole number the FORTRAN_format will be F9.0.
An integer pointer to the flag for the selected variable. Table 1 lists which variables have a qcindex.
- Cruise track code (RESEARCH VESSEL DATA ONLY)
The cruise track code stores up to a 9 character string that marks each recording time as being either a TOGA/COARE cruise, a WOCE cruise, another dedicated cruise (other), or a cruise with an 'unknown' designation. The COARE cruise track code will only include the leg number for a specific ship using the code T/CLEG###. As an example, if a data record was collected on the second leg of the Moana Wave COARE cruise, then the cruise track code would be T/CLEG002.
The time is a double precision variable with units equal to minutes since 1-1-1980 00:00. The time is quality controlled for non-sequential and unrealistic values. The type is encoded according to Table 2.
Table 2: Time types
- Unknown time type
- Mean time
(Data represent a mean observed/recorded over some period of time. Notes on the position of the recorded time stamp within the mean (e.g. beginning, end, or middle of mean) and the length of the averaging period will be provided in the data quality reports).
- Instantaneous time
(Data are recorded as instantaneous values at the time indicated)
A FORTRAN subroutine to convert from minutes since 1-1-1980 00:00 to year, month, day, hour, and minute values is provided in Appendix 3.
Platform position is in units of degrees; positive degrees for north latitude, negative degrees for south latitude, and positive 0-359 degrees east longitude. The units of the original values of latitude and longitude are found in Table 3.
Table 3: Units of original latitude and longitude.
- Degrees and tenths
- Whole degrees
- Non-random tenths
- Degrees and minutes
- High resolution data (e.g., degrees to seconds, or degrees and hundredths)
- Other (refer to supplemental data)
The latitude and longitude is quality controlled for data validity, unrealistic
platform movement, and whether an oceanographic platform moves over land.
- Platform heading
The heading is recorded in units of degrees (recorded clockwiserelative to true north) and represents the direction that the bow of the ship is pointing. Valid headings range from 000.0 to 359.0 degrees. A convers_units attribute stores the type of compass that recorded the original data using the codes found below in Table 4.
- Platform speed
The platform speed is recorded in units of meter per second after a conversion from the original units (encoded using Table 5).
- Earth-relative wind direction
The earth-relative wind direction is stored with units of degrees and is encoded using:
going clockwise from true north. All wind directions are reported in the standard meteorological convention; the direction the wind is blowing from. Table 4 lists the possible compass types used to record the original data.
- 000.0 = calm
- 001.0-360.0 = direction in degrees
- 361.0 = variable
Table 4: Compass direction conversion units.
- 36-point compass
- 32-point compass
- 16 of 36-point compass
- 16 of 32-point compass
- 8-point compass
- 360-point compass
- High resolution data (e.g., tenths of degrees)
- 16 point compass
- Earth-relative wind speed
The earth-relative wind speed is recorded in units of meters per second, and Table 5 lists the codes for the original units of the wind speed data.
Table 5: Wind speed conversion units.
- Meters per second, estimated
- Meters per second, unknown
- Meters per second, measured
- Knots, estimated
- Knots, unknown
- Knots, measured
- Beaufort force (based on documentation)
- High resolution measurement (e.g., hundredths of a meter per second)
- Atmospheric pressure
Pressure is recorded in units of millibars. The units of the original data are listed in Table 6 and Table 7 outlines the codes for the pressure type.
Table 6: Atmospheric pressure conversion units.
- Millimeters of mercury
- Inches of mercury
Table 7: Atmospheric pressure type.
- Unknown type
- Sea level
- Station level
- Air temperature
- Dewpoint temperature
- Wet bulb temperature
All atmospheric temperatures are recorded in units of degrees Celsius after a conversion from the original units (see Table 8).
Table 8: Temperature conversion units.
- Degrees Celsius and tenths
- Half degrees Celsius
- Whole degrees Celsius
- Degrees Fahrenheit and tenths
- Half degrees Fahrenheit
- Whole degrees Fahrenheit
- High resolution data (e.g., hundredths of a degree Celsius or Fahrenheit)
- Other (notes will be found in data quality reports)
- Sea temperature
The sea temperature is recorded in units of degrees Celsius with the original units encoded according to Table 8. NOTE: The sensor depth is recorded in meters and is a positive for all non-missing values (the attribute name is changed from ht to avoid confusion). The specific instrument type used to measure the sea temperature is stored in inst while the general instrument type is recorded using the codes in Table 9.
Table 9: General instrument types used to record sea temperature.
- Unknown or non-bucket
- Condenser inlet (intake)
- Trailing thermistor
- Hull contact sensor
- Through hull sensor
- Radiation thermometer
- Bait tanks thermometer
- Implied bucket (an HSST SID or any match)
- Other electronic sensor
- Relative humidity
- Specific humidity
Though the relative humidity, recorded in units of percent, is the more common moisture measurement; the specific humidity, always recorded in grams per kilogram, is preferred and supplied whenever it is present in the original data.
The precipitation is recorded in units of millimeters and Table 10 lists the original precipitation units.
Table 10: Precipitation conversion units.
- Tenths of an inch
- Hundredths of an inch
- High resolution (>0.1 millimeter)
An alternative measure of precipitation, the rain rate (RRATE) may be used in some files. The rain rate units are amount of rain per unit time. All other attributes are the same as in PRECIP.
- Present weather
Table 11: Present weather codes are the same as those from COADS data (Slutz et al. 1985).
Codes 00 to 49 indicate no precipitation at the site (e.g., ship, buoy, etc.)
at time of observation:
- Cloud development not observed
- Clouds generally dissolving or becoming less developed
- State of the sky unchanged
- Clouds generally forming or developing
- Visibility reduced by smoke
- Widespread dust in suspension in the air, not raised by wind at or near the station at time of observation
- Dust or sand raised by wind at or near the station at time of observation, but no well-developed dust whirls or sand whirls and no dust storm or sandstorm seen
- Well developed dust whirls or sand whirls seen at or near the station during the preceding hour or at time of observation, but no dust storm or sandstorm
- Dust storm or sandstorm within sight at time of observation, or at the station during the preceding hour
- Light fog (visibility 1,100 yards or more); synonymous with European term "mist"
- Patches of shallow fog or ice fog at the station, not deeper than about 10 meters
- More or less continuous shallow fog or ice fog at the station, not deeper than about 10 meters
- Lightning visible, no thunder heard
- Precipitation within sight, not reaching the surface of the sea
- Precipitation within sight, reaching the surface of the sea, but more than 5 kilometers from the station
- Precipitation within sight, reaching the surface of the sea, near to, but not at the station
- Thunderstorm, but no precipitation at time of observation
- Squalls at or within sight of the station during the preceding hour or at time of observation
- Funnel cloud or waterspout at or within sight of the station during the preceding hour or at time of observation
Codes 20 to 29 refer to phenomena that occurred at the station during the preceding hour but not at time of observation:
- Drizzle (not freezing) or snow grains
- Rain (not freezing)
- Rain and snow or ice pellets, type (a)
- Freezing drizzle or freezing rain
- Shower of rain
- Shower of snow, or of rain and snow
- Shower of hail (ice pellets, type (b), snow pellets), or of rain and hail
- Fog or ice fog
- Rhunderstorm (with or without precipitation)
Codes 30 to 99 refer to phenomena occurring at the ship at time of observation:
- Slight or moderate dust storm or sandstorm has decreased during the preceding hour
- Slight or moderate dust storm or sandstorm with no appreciable change during the preceding hour
- Slight or moderate dust storm or sandstorm has begun or has increased during the preceding hour
- Severe dust storm or sandstorm has decreased during the preceding hour
- Severe dust storm or sandstorm with no appreciable change during the preceding hour
- Severe dust storm or sandstorm has begun or has increased during the preceding hour
- Slight or moderate drifting snow generally low (below eye level, less than 6 feet)
- Heavy drifting snow generally low (below eye level, less than 6 feet)
- Slight or moderate blowing snow generally high (above eye level, 6 feet or more)
- Heavy blowing snow generally high (above eye level, 6 feet or more)
- Fog or ice fog at a distance at time of observation, but not at the station during the preceding hour, the fog or ice fog extending to a level above that of the observer
- Fog or ice fog in patches
- Fog or ice fog (sky visible) has become thinner during the preceding hour
- Fog or ice fog (sky invisible) has become thinner during the preceding hour
- Fog or ice fog (sky visible) with no appreciable change during the preceding hour
- Fog or ice fog (sky invisible) with no appreciable change during the preceding hour
- Fog or ice fog (sky visible) has begun or has become thicker during the preceding hour
- Fog or ice fog (sky invisible) has begun or has become thicker during the preceding hour
- Fog, depositing rime, sky visible
- Fog, depositing rime, sky invisible
Codes 50 to 99 indicate precipitation at the station at time of observation:
- Drizzle, not freezing, intermittent, slight at time of observation
- Drizzle, not freezing, continuous, slight at time of observation
- Drizzle, not freezing, intermittent, moderate at time of observation
- Drizzle, not freezing, continuous, moderate at time of observation
- Drizzle, not freezing, intermittent, heavy (dense) at time of observation
- Drizzle, not freezing, continuous, heavy (dense) at time of observation
- Drizzle, freezing, slight
- Drizzle, freezing, moderate or heavy (dense)
- Drizzle and rain, slight
- Drizzle and rain, moderate or heavy
- Rain, not freezing, intermittent, slight at time of observation
- Rain, not freezing, continuous, slight at time of observation
- Rain, not freezing, intermittent, moderate at time of observation
- Rain, not freezing, continuous, moderate at time of observation
- Rain, not freezing, intermittent, heavy at time of observation
- Rain, not freezing, continuous, heavy at time of observation
- Rain, freezing, slight
- Rain, freezing, moderate or heavy
- Rain or drizzle and snow, slight
- Rain or drizzle and snow, moderate or heavy
- Intermittent fall of snowflakes, slight at time of observation
- Continuous fall of snowflakes, slight at time of observation
- Intermittent fall of snowflakes, moderate at time of observation
- Continuous fall of snowflakes, moderate at time of observation
- Intermittent fall of snowflakes, heavy at time of observation
- Continuous fall of snowflakes, heavy at time of observation
- Ice prisms (with or without fog)
- Snow grains (with or without fog)
- Isolated star-like snow crystals (with or without fog)
- Ice pellets, type (a) (sleet, U.S. definition)
- Rain shower, slight
- Rain shower, moderate or heavy
- Rain shower, violent
- Shower of rain and snow mixed, slight
- Shower of rain and snow mixed, moderate or heavy
- Snow shower, slight
- Snow shower, moderate or heavy
- Slight showers of snow pellets or ice pellets, type (b), with or without rain or rain and snow mixed
- Moderate or heavy showers of snow pellets or ice pellets, type (b), with or without rain or rain and snow mixed
- Slight showers of hail, with or without rain or rain and snow mixed, not associated with thunder
- Moderate or heavy showers of hail, with or without rain or rain and snow, mixed, not associated with thunder
- Slight rain at time of observation, thunderstorm during preceding hour but not at time of observation
- Moderate or heavy rain at time of observation, thunderstorm during preceding hour but not at time of observation
- Slight snow, or rain and snow mixed, or hail, at time of observation with thunderstorm during the preceding hour but not at time of observation
- Moderate or heavy snow, or rain and snow mixed, or hail, at time of observation with thunderstorm during the preceding hour but not at time of observation
- Thunderstorm, slight or moderate, without hail, but with rain and/or snow at time of observation
- Thunderstorm, slight or moderate, with hail at time of observation
- Thunderstorm, heavy, without hail but with rain and/or snow at time of observation
- Thunderstorm combined with dust storm or sandstorm at time of observation
- Thunderstorm, heavy, with hail at time of observation
- Total cloud amount
- Low/middle cloud amount
The codes for the total and low/middle cloud amounts (Table 14) are from the COADS data (Slutz et al. 1985). For the total cloud amount, codes 0 to 9 show the fraction, in oktas, of the celestial dome covered by all clouds. For the low/middle cloud amount the codes show the fraction, in oktas, of the celestial dome covered by all the low clouds and, if no low clouds are present, the fraction covered by all the middle clouds.
Table 12: Cloud amount codes.
- 1 okta or less, but not zero
- 2 oktas
- 3 oktas
- 4 oktas
- 5 oktas
- 6 oktas
- 7 oktas or more, but not 8 oktas
- 8 oktas
- Sky obscured or cloud amount cannot be estimated
If the data arriving at the DPC use tenths to describe cloud cover, the convention in Table 15 will be used to convert from tenths to oktas and the original data units will be noted using the codes in Table 16.
Table 13: Relationship between tenths and oktas
Table 14: Cloud amount conversion units
- Cloud height
Cloud height is recorded using the standard 0-10 synoptic code. Table 17 shows the height ranges and codes for measurements in feet or meters.
Table 15: Cloud height codes, adapted from Table 9 of the COADS data documentation (Slutz et al. 1985)
Approximate height of lowest cloud base
|9||>=8000 or no clouds||>=2500 or no clouds|
10 indicates that the cloud height cannot be estimated because of darkness or
for other reasons.
- Low cloud type
Table 16: Low cloud type codes extracted from the COADS data documentation (Slutz et al. 1985). The codes show observed characteristics of clouds of the types stratocumulus, stratus, cumulus, cumulonimbus, and their variations.
- No stratocumulus, stratus, cumulus, or cumulonimbus.
- Cumulus with little vertical extent and seemingly flattened, or ragged cumulus other than of bad weather, or both.
- Cumulus of moderate or strong vertical extent, generally with protuberances in the form of domes or towers, either accompanied or not by other cumulus or by stratocumulus, all having their base at the same level.
- Cumulonimbus the summits of which, at least partially, lack sharp outlines but are neither clearly fibrous (cirriform) nor in the form of an anvil; cumulus, stratocumulus, or stratus may also be present.
- Stratocumulus formed by the spreading out of cumulus; cumulus may also be present
- Stratocumulus not resulting from the spreading out of cumulus
- Stratus in a more or less continuous sheet or layer, or in ragged shreds, or both, but no stratus fractus of bad weather.
- Stratus fractus of bad weather (generally existing during precipitation and a short time before and after) or cumulus fractus of bad weather, or both (pannus), usually below altostratus or nimbostratus.
- Cumulus and stratocumulus other than that formed from the spreading out of cumulus; the base of the cumulus is at a different level from that of the stratocumulus.
- Cumulonimbus, the upper part of which is clearly fibrous (cirriform), often in the form of an anvil; either accompanied or not by cumulonimbus without anvil or fibrous upper part, by cumulus, stratocumulus, stratus, or pannus.
- Low clouds not visible, owing to darkness, fog, blowing dust or sand, or other similar phenomena
- Middle cloud type
Table 17: Middle cloud type codes extracted from the COADS data documentation (Slutz et al. 1985). The codes show observed characteristics of clouds of the types altocumulus, altostratus, and nimbostratus.
- No altocumulus, altostratus, or nimbostratus.
- Altostratus, the greater part of which is semi-transparent; through this part the sun or moon may be weakly visible, as through ground glass
- Altostratus, the greater part of which is sufficiently dense to hide the sun or moon, or nimbostratus
- Altocumulus, the greater part of which is semi-transparent; the various elements of the cloud change only slowly and are all at a single level
- Patches (often in the form of almonds or fishes) of altocumulus, the greater part of which is semi-transparent; the clouds occur at one or more levels and the elements are continually changing in appearance
- Semi-transparent altocumulus in bands, or altocumulus in one or more fairly continuous layers (semi-transparent or opaque), progressively invading the sky; these altocumulus clouds generally thicken as a whole
- Altocumulus resulting from the spreading out of cumulus (or cumulonimbus)
- Altocumulus in two or more layers, usually opaque in places, and not progressively invading the sky; or opaque layer of altocumulus, not progressively invading the sky; or altocumulus together with altostratus or nimbostratus
- Altocumulus with sproutings in the form of small towers or battlements; or altocumulus having the appearance of cumuliform tufts
- Altocumulus of a chaotic sky, generally at several levels
- Middle clouds not visible, owing to darkness, fog, blowing dust or sand, or other similar phenomena, or more often because of the presence of a continuous layer of lower clouds
- High cloud type
Table 18: High cloud type codes extracted from the COADS data documentation (Slutz et al. 1985). The codes show observed characteristics of clouds of the types cirrus, cirrocumulus and cirrostratus.
- No cirrus, cirrocumulus or cirrostratus
- Cirrus in the form of filaments, strands, or hooks, not progressively invading the sky
- Dense cirrus, in patches or entangled sheaves, which usually do not increase and sometimes seem to be the remains of the upper part of a cumulonimbus, or cirrus with sproutings in the form of small turrets or battlements, or cirrus having the appearance of cumuliform tufts
- Dense cirrus, often in the form of an anvil, being the remains of the upper parts of cumulonimbus
- Cirrus in the form of hooks or of filaments, or both, progressively invading the sky; they generally become denser as a whole
- Cirrus (often in bands converging towards one point or two opposite points of the horizon) and cirrostratus, or cirrostratus alone; in either case, they are progressively invading the sky, and generally growing denser as a whole, but the continuous veil does not reach 45 degrees above the horizon
- Cirrus (often in bands converging towards one point or two opposite points of the horizon) and cirrostratus, or cirrostratus alone; in either case, they are progressively invading the sky, and generally growing denser as a whole; the continuous veil extends more than 45 degrees above the horizon, without the sky being totally covered
- Veil of cirrostratus covering the celestial dome
- Cirrostratus not progressively invading the sky and not completely covering the celestial dome
- Cirrocumulus alone, or cirrocumulus accompanied by cirrus or cirrostratus, or both, but cirrocumulus is predominant
- High clouds not visible, owing to darkness, fog, blowing dust or sand, or other similar phenomena, or more often because of the presence of a continuous layer of lower clouds
- Quality control flag
The quality control flags (Table 19) are single alphabetic characters for each data value. Only those variables with a qcindex have flag values (the qcindex is an integer pointer to the flag for a selected variable), i.e. not all meteorological variables are quality controlled.
Table 19: Definitions of COARE quality control flags
- Original data had unknown units. The units shown were determined using a climatology or some other method
- Original data were out of the range bounds outlined (Table 20)
- Time data are not sequential or date/time not valid
- Data failed T>=Tw>=Td test. In the free atmosphere, the value of the temperature is always greater than or equal to the wet-bulb temperature, which in turn is always greater than or equal to the dew point temperature
- Data failed resultant wind recomputation check. When the data set includes the platform's speed and direction along with the platform relative wind speed and direction, a program recomputes the earth relative wind speed and direction and compares the computed values to the reported earth relative wind speed and direction. A failed test occurs when the wind direction difference is > 10° or the wind speed difference is >5 m/s
- Platform velocity unrealistic. Determined by platform position and speed data
- Data are greater than 4 standard deviations from the COADS climatological means (da Silva et al. 1994). The test is only applied to pressure, temperature, sea temperature, relative humidity, and wind speed data.
- Discontinuity found in data
- Interesting feature found in data. More specific information on the feature is contained in the data reports. Examples include: hurricanes passing station, sharp sea water temperature gradients, strong convective events, etc
- Data are of poor quality by visual inspection, DO NOT USE
- Data suspect/use with caution - this flag applies when the data look to have obvious errors, but no specific reason for the error can be determined.
- Oceanographic platform passes over land or fixed platform moves dramatically
- Known instrument malfunction
- Position of platform or its movement are uncertain. Data should be used with caution
- Spike in the data. Usually one or two sequential data values (sometimes up to 4 values) that are drastically out of the current data trend. Spikes occur for many reasons including power surges, typos, data logging problems, lightning strikes, etc
- Data passed evaluation
Table 20: Range Bounds used in determining the use of flag B
Variable Lower Bound Upper Bound Units Other
time 1-1-1980 12-31-1999
latitude 90 90 degrees
longitude 0 359 degrees
platform heading 0 359 degrees
platform speed 0 15 m/s research vessels
0 0 m/s stationary buoys
0 2 m/s drifters
plat. wind direction 0 360 degrees
plat. wind speed 0 40 m/s
wind direction 0 360 degrees
wind speed 0 40 m/s
pressure 950 1050 mb Sea level
air temperature 10 40 [[ring]]
wet bulb temperature 10 40 [[ring]]
dew point temperature 10 40 [[ring]]
sea temperature 0 35 [[ring]]
relative humidity 0 100 percent radiation
As an example of the usage of the flag variable, assume that a COARE ASCII file contains only time, latitude, longitude, atmospheric pressure, and air temperature data along with a flag variable. Based on Table 1, all five variables will be quality controlled and each will have a unique qcindex. If the values for the first record of all five variables pass all quality control checks, then the first record of the flag variable will contain "ZZZZZ"; i.e. the flag variable contains QC flags for each QC variable, in this example 5 flags. However, if the second record contains a non-sequential time, but good latitude and longitude values, a pressure value of 1090 mb, and a temperature that is 6 standard deviations from the climatology, then the second record of flag will contain "CZZBG". The qcindex allows access to the flags for any variable. For example, the flag for the second record for atmospheric pressure (qcindex=4) is a "B" indicating the pressure value is out of bounds.
3. Global Attributes
The global attributes in the COARE DPC ASCII files include parameters that apply to all the variables in the file or to the file in general. Again a mix of data and metadata are included.
A descriptive title highlighting the platform name, location, and special instrument characteristics. Often used to title plots of the data from the ASCII file. Ex: "Midas observations - R/V Wecoma - T/CLEG001 Cruise"
This attribute will contain either the alphanumeric R/V or land station name or a buoy location.
Stores the geographic elevation of the site in meters above sea level. This value is zero for ships and buoys.
Either the ship/platform identification, call sign, or WMO number.
Instrument system that recorded the data. For example: IMET, ISS, ATLAS, unspecified tower, bridge report, hand held instruments, etc.
The institution or country that either collected the data or are the primary holder of the data. For example: NOAA, PMEL, WHOI, University of Washington, Chile, etc.
The current version number or the data in the file.
A missing value flag that is used for all variables. Typically set to -9999.
The first date of the data in the file. Coded as DD MMM YYYY where DD Day number (01 to 31), MMM Month (JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC), YYYY Four digit year (ex: 1992)
The last date of the data in the file. Coded the same as startdate.
Date that QC data set was released by COARE DPC.
da Silva, A. M., C. C. Young, and S. Levitus, 1994: Atlas of Surface Marine Data, Volume 1: Algorithms and Procedures. NOAA Atlas Series. In preparation.
Slutz, R.J., S.J. Lubker, J.D. Hiscox, S.D. Woodruff, R.L. Jenne, D.H. Joseph, P.M. Steurer, and J.D. Elms, COADS (Comprehensive Ocean-Atmosphere Data Set) Release 1, pp. 300, CIRES University of Colorado, 1985.
Example COARE-Met ASCII Data File
title :Vidal Gormaz: WOCE PR_14_/04
site :Vidal Gormaz
platform :Standard instrument shelter on open bridge
facility :Chilean Navy
startdate :7 OCT 1993
enddate :17 OCT 1993
Release_Date :22 JUN 1995
Variable(qcindex) long_name units convers_units type ht inst FORTRAN_format
ctc ( )cruise track code A9
time ( 1)time minutes from 1-1-1980 00:00 2 I12
lat ( 2)latitude degrees 0 F9.2
lon ( 3)longitude degrees east 0 F9.2
PL_HD ( 4)platform heading degrees 5 Magellan 5000D GPS F9.0
PL_SPD ( 5)platform speed meters/second 5 Magellan 5000D GPS F9.1
DIR ( 6)earth relative wind direction degrees true 0 15.24 calculated from F420G Electric Speed Indicator F9.0
SPD ( 7)earth relative wind speed meters/second 5 15.24 calculated from F420G Electric Speed Indicator F9.0
P ( 8)atmospheric pressure millibars 0 2 9.50 Lufft model 8103 quartz barograph F9.1
T ( 9)air temperature Celsius 0 9.00 Nurnberg thermometer F9.1
TS ( 10)sea temperature Celsius 0 1 -999.90 thermocouple F9.1
TD ( 11)dewpoint temperature Celsius 2 9.00 NOAA/NWS ship synoptic code table F9.1
TW ( 12)wet bulb temperature Celsius 0 9.00 Nurnberg thermometer F9.1
WX ( )present weather I6
TCA ( )total cloud amount 1 I6
LMCA ( )low/middle cloud amount 1 I6
ZCL ( )cloud base height I6
LCT ( )low cloud type I6
MCT ( )middle cloud type I6
HCT ( )high cloud type I6
flag ( )quality control flags A12
ctc time lat lon PL_HD PL_SPD DIR SPD P T TS TD TW WX TCA LMCA ZCL LCT MCT HCT flag
PR_14_/04 7240680 -37.90 285.90 229. 0.8 180. 7. 1015.8 12.5 13.3 10.0 11.5 3 1 0 9 0 10 10ZZZZZEKZZZZZ
PR_14_/04 7241040 -38.00 285.30 270. 5.1 190. 10. 1018.0 13.0 13.3 11.0 12.0 3 8 8 1 4 10 10ZZZZZEEZZZZZ
PR_14_/04 7241400 -37.90 285.20 269. 5.7 190. 7. 1019.8 14.0 13.3 12.0 13.0 2 8 8 4 3 10 10ZZZZZEKZZZZZ
PR_14_/04 7241760 -37.90 284.40 238. 1.0 190. 10. 1021.0 13.5 13.3 9.0 11.0 2 8 8 5 3 10 10ZZZZZEKZZZZZ
PR_14_/04 7242120 -38.00 283.40 270. 5.7 190. 8. 1020.0 12.0 13.3 8.0 10.0 2 4 4 5 1 10 10ZZZZZEEZZZZZ
PR_14_/04 7242480 -38.00 282.50 269. 5.7 190. 7. 1022.5 14.0 14.0 9.0 11.0 3 7 7 5 2 0 0ZZZZZEEZZZZZ
PR_14_/04 7242840 -38.00 281.60 260. 5.7 190. 5. 1022.0 16.5 12.8 9.0 12.5 2 8 8 5 1 10 10ZZZZZEEZZZZZ
PR_14_/04 7243200 -38.00 280.40 271. 5.7 180. 6. 1022.0 12.5 13.3 7.0 10.0 2 5 5 5 3 10 10ZZZZZKKZZZZZ
PR_14_/04 7243560 -38.00 279.40 269. 5.7 190. 3. 1022.5 13.0 13.4 7.0 10.0 3 3 3 4 4 0 0ZZZZZEEZZZZZ
PR_14_/04 7243920 -37.90 278.40 270. 5.7 270. 5. 1023.0 13.0 13.9 10.0 11.5 3 8 8 4 4 8 0ZZZZZEEZZZZZ
PR_14_/04 7244280 -38.00 277.80 270. 0.5 210. 2. 1023.5 14.5 14.0 10.0 12.0 3 6 6 5 2 0 0ZZZZZEKZZZZZ
PR_14_/04 7244640 -38.10 277.80 180. 5.7 190. 3. 1023.0 16.5 14.0 10.0 13.0 1 1 1 4 2 0 0ZZZZZKEZZZZZ
PR_14_/04 7245000 -40.00 277.80 180. 5.7 290. 4. 1024.0 12.0 13.3 10.0 11.0 1 1 1 4 2 0 0ZZZZZEKZZZZZ
PR_14_/04 7245360 -40.60 277.80 180. 5.7 320. 7. 1022.0 12.0 12.2 9.0 10.5 0 0 0 9 0 0 0ZZZZZEKZZZZZ
PR_14_/04 7245720 -41.70 277.80 185. 5.7 300. 8. 1020.5 14.0 11.7 13.0 13.5 3 5 5 5 3 0 0ZZZZZEKZZZZZ
PR_14_/04 7246080 -42.50 277.80 182. 6.2 330. 12. 1016.5 12.0 11.7 10.0 11.0 2 7 7 6 4 0 6ZZZZZEKZZZZZ
PR_14_/04 7246440 -43.30 277.80 180. 6.2 320. 12. 1014.2 10.5 10.6 10.0 10.0 80 6 6 3 4 10 10ZZZZZEKZZZZZ
PR_14_/04 7246800 -44.10 277.80 180. 5.1 270. 8. 1014.6 10.0 10.6 8.0 9.0 2 5 5 4 8 10 10ZZZZZEKZZZZZ
PR_14_/04 7247160 -44.80 277.70 190. 5.1 260. 12. 1015.0 11.5 10.6 9.0 9.5 3 8 8 2 1 0 0ZZZZZKKZZZZZ
PR_14_/04 7247520 -45.50 277.70 190. 4.6 310. 9. 1016.0 9.0 9.0 8.0 7.5 3 7 7 2 1 0 0ZZZZZEKZZZDD
PR_14_/04 7247880 -46.20 277.80 210. 5.1 310. 9. 1015.0 9.0 9.0 7.0 8.0 1 0 0 10 0 0 0ZZZZZEKZZZZZ
PR_14_/04 7248240 -46.90 277.80 235. 4.1 320. 11. 1011.5 9.0 8.9 8.0 7.5 3 9 8 2 7 10 10ZZZZZEKZZZDD
PR_14_/04 7248600 -47.50 277.80 145. 4.6 310. 10. 1007.0 9.0 9.0 5.0 7.0 3 8 8 5 4 10 10ZZZZZEKZZZZZ
PR_14_/04 7248960 -48.00 278.10 95. 6.2 300. 10. 1002.0 9.0 8.9 5.0 7.0 3 8 8 4 8 10 10ZZZZZEKZZZZZ
PR_14_/04 7249320 -48.00 279.30 35. 6.2 360. 11. 999.0 9.0 8.9 8.0 8.5 3 9 8 4 10 10 10ZZZZZEEZZZZZ
PR_14_/04 7249680 -47.90 280.50 60. 5.0 350. 12. 995.0 10.5 9.0 9.0 10.0 14 8 8 4 7 10 10ZZZZZEEZZZZZ
PR_14_/04 7250040 -47.80 280.70 340. 1.0 350. 20. 992.5 10.5 8.9 9.0 10.0 14 8 8 4 8 10 10ZZZZZEKZZZZZ
PR_14_/04 7250400 -47.70 280.70 335. 1.0 300. 15. 994.5 9.5 8.9 6.0 8.0 -9999 8 8 4 8 10 10ZZZZZEKZZZZZ
PR_14_/04 7250760 -48.00 280.80 330. 0.0 330. 6. 998.0 8.5 7.8 7.0 7.5 25 8 8 3 8 10 10ZZZZZEKZZZZZ
PR_14_/04 7251120 -47.90 281.90 90. 5.1 150. 11. 993.0 6.0 7.6 0.0 6.0 25 8 8 3 8 10 10ZZZZZEKZZZZZ
PR_14_/04 7251480 -48.00 283.00 0. 1.0 350. 14. 989.0 11.0 9.4 9.0 11.0 25 8 8 3 8 10 10ZZZZZKKZZZZZ
PR_14_/04 7251840 -47.90 283.90 345. 3.8 320. 18. 995.0 7.5 10.6 7.0 7.0 1 7 7 4 8 10 10ZZZZZKEZZZZZ
PR_14_/04 7252200 -46.90 283.80 8. 5.1 240. 7. 998.5 9.0 9.0 5.0 7.0 1 2 2 4 6 0 10ZZZZZEKZZZZZ
PR_14_/04 7252560 -45.80 284.00 3. 5.1 160. 7. 996.2 8.4 10.6 1.0 6.5 3 8 8 4 7 10 10ZZZZZEKZZZZZ
PR_14_/04 7252920 -44.90 284.10 12. 5.1 120. 3. 992.8 9.5 10.0 4.0 7.0 3 7 7 4 4 10 10ZZZZZEEZZZZZ
PR_14_/04 7253280 -43.90 284.30 15. 5.7 350. 6. 998.5 11.0 9.8 9.0 10.0 3 8 8 4 4 10 10ZZZZZEKZZZZZ
PR_14_/04 7253640 -42.90 284.60 12. 5.7 180. 7. 1000.0 10.5 11.7 7.0 9.0 3 8 8 4 4 10 10ZZZZZEKZZZZZ
PR_14_/04 7254000 -41.60 285.00 20. 5.9 240. 9. 1006.5 10.5 10.0 9.0 10.0 25 8 8 3 6 10 10ZZZZZEKZZZZZ
PR_14_/04 7254360 -40.90 285.10 12. 6.2 250. 7. 1011.0 11.5 12.8 10.0 11.0 25 5 5 3 6 10 10ZZZZZEKZZZZZ
PR_14_/04 7254720 -39.90 285.50 16. 6.2 280. 9. 1012.0 12.0 12.8 7.0 9.5 3 5 5 5 4 10 10ZZZZZEEZZZZZ
PR_14_/04 7255080 -38.70 285.80 12. 5.7 330. 10. 1013.0 11.5 12.8 11.0 11.0 23 5 5 4 4 10 10ZZZZZEEZZZZZ
PR_14_/04 7255440 -37.60 286.10 15. 5.7 0. 9. 1014.2 10.0 12.8 2.0 9.0 3 7 7 4 1 10 10ZZZZZEEZZZZZ
PR_14_/04 7255800 -36.70 286.70 50. 5.7 340. 9. 1016.0 13.5 12.2 12.0 13.0 1 7 7 5 1 3 2ZZZZZEEZZZZZ
[Does not, will not exist]
The following FORTRAN subroutine can be used to convert the time values from
the COARE ASCII files to two-digit year, month, day, hour, and minute values.
The routine processes individual time values (timestamp), but could be easily
modified to handle an entire time array. The code can be acquired
and any problems that occur while using the code can be addressed to
c This subroutine will convert a minutes timestamp to a year/month
c date. Based on the function convtime by Shawn Smith (COAPS).
c Written the spring of 1995, several iterations.
c James N. Stricherz (firstname.lastname@example.org)
c This code returns correct results for the range of 01 Jan 1980 0000GMT
c thru 31 Dec 1999 2359GMT. I know it does, because I tried each minute
c of that range.
integer year(1980:2000), month(13), leap_mon(13), min_day,
+ min_hr, yr, mon, day, hr, min,timestamp,itime,tmon,ttime,
data year /0, 527040, 1052640, 1578240, 2103840, 2630880, 3156480,
+ 3682080, 4207680, 4734720, 5260320, 5785920, 6311520,
+ 6838560, 7364160, 7889760, 8415360, 8942400, 9468000,
data month /0, 44640, 84960, 129600, 172800, 217440, 260640,
+ 305280, 349920, 393120, 437760, 480960,525600/
data leap_mon /0, 44640, 86400, 131040, 174240, 218880, 262080,
+ 306720, 351360, 394560, 439200, 482400,527040/
data min_day, min_hr /1440, 60/
* ok, lets inverse the effects of the years -- subtract off the
* number of minutes per year until it goes negative. iyr
* then gives the year that the time (in minutes) occurs...
if (timestamp.ge.year(2000)) then
if (ttime.le.0) then
if (iyr.eq.1980) iyr=iyr+1
* assign the return variable
* ok, the remaining time is less than one full year, so convert
* by the same method as above into months:
* that darn leap month!
if (mod(iyr,4).ne.0) then
* increment the month, and subtract off the minutes from the
* remaining time for a non-leap year
if (tmon.gt.0) then
else if (tmon.lt.0) then
if (imon.gt.12) then
* same thing, same code, but for a leap year
if (tmon.gt.0) then
elseif (tmon.lt.0) then
if (imon.gt.12) then
* assign the return variable
* any remaining minutes will belong to day/hour/minutes
* ok, let's get those pesky days!
if (ttime.ge.0) then
* assign the return variable
if (mod(iyr,4).eq.0.and.mon.gt.2) then
* pick off the hours of the days...remember, hours can be 0, so
* we start at -1
if (thour.ge.0) then
* assign the return variables
* the remainder at this point is the minutes, so return them directly!