|
>> NetCDF Format
This section describes the netCDF conventions proposed by the NODC for use with the Global Temperature-Salinity Profile Program (GTSPP) data. The NetCDF conventions, also known as the GTSPP netCDF conventions, fully conform to the conventions used by the Cooperative Ocean/Atmosphere Research Data Service (COARDS) and World Ocean Circulation Experiment (WOCE). The COARDS/WOCE netCDF conventions have been widely recognized by numerous software plotting and analysis packages, for examples, ncBrowse and Ocean Data View, to provide more automatic processing, plotting, and analysis capabilities. It is very important that the GTSPP netCDF format files has the same capability as the WOCE data files have.
NetCDF Format Description
All GTSPP data is located by longitude, latitude, depth and time and is represented by three spatial axes (longitude, latitude, and depth) and one temporal (time) axis. Other information is not included as an axis, it must be included elsewhere within the data file, if the file is to be self-describing.
====
AXES
====
Axes
GTSPP data axis conventions are described here. Geographic axes in a GTSPP netCDF file are, at present, described by a numeric variable code included as an attribute in the data file. There is a disk file named "epic.key" which contains all EPIC variable codes with other related information. The numeric variable code is a unique identifier for the variable or axis, and is described more fully in the section below on "VARIABLES". The use of the numeric variable code to define the axis is necessary for EPS libary V2.1 and earlier, and for PPLUS V1.2c and earlier. In future releases of both the EPS libarary and PPLUS, the use of an axis variable code may be replaced by the use of units from UDUNITS, and may no longer be required.
Longitude axis
--------------
Many longitude representations are possible, however, for compatibility with the WOCE netCDF conventions, use of the East longitude convention is required. The East longitude convention, described in detail below, defines the numeric representation of the longitude axis in the netCDF file, with positive values for east longitudes. The recommended East longitude convention is described in the following paragraphs.
We recommend that users represent the longitude axis with the East longitude convention. This means that eastern longitudes are positive numbers, for example, 170E is +170.0. The units of the axis are degree_east.
Latitude axis
-------------
The recommended latitude convention is for north latitudes to be represented by positive numbers (e.g., 10N is +10.0), and south latitudes by negative numbers (e.g., 10S is -10.0). The units of the axis are degree_north.
Depth axis
----------
The depth axis should be given with the oceanographic convention of depth as a positive number, increasing downwards from the surface of the water towards the bottom of the ocean. The units of the axis should be dbar (pressure axis) or meters (depth axis).
Time axis
---------
The representation of the time axis within the data file can be of several types, including the WOCE standard, the double real numeric array, which will be "days since 1900-01-01 00:00:00 UTC", and some other time representations, which are supported for compatibility with the units used in the Argo netCDF convention - "days since 1950-01-01 00:00:00 UTC".
The standard units of the time axis EPIC system library routines return the time axis from a data file to the calling routine in the form of a two-integer array, in which the first integer is the "True Julian Day Number" with units of days, and the second integer is the number of milliseconds since 0000 GMT of the True Julian Day. The True Julian Day (eg, May 23, 1968 is 2,400,000), used by astronomers, should not be confused with the "year-day"
(eg, Feb 2 is year-day 33). The "year-day" is frequently called julian day (incorrectly) by oceanographers and meteorologists. Our double-dimensioned integer time word (word1=True Julian Day, word2=milliseconds since 0000 GMT of the True Julian Day) allows millisecond accuracy for time periods extending over centuries. There is a complete set of EPS routines for manipulation, calculation, and character string representation of this standard representation of time.
Time axes can be written or read in either real or integer format.
==========
VARIABLES
==========
Variable name (size) |
Data type |
Attribute name |
Attribute value |
depth(depth) |
float |
|
|
|
|
long_name |
Depths of the observations |
|
|
units |
meters |
|
|
data_min |
25.f |
|
|
data_max |
500.f |
|
|
positive |
down |
|
|
C_format |
%6.2f |
|
|
FORTRAN_format |
F6.2 |
temperature(time,
depth, latitude, longitude) |
float |
|
|
|
|
long_name |
temperature |
|
|
units |
degree C |
|
|
data_min |
8.06f |
|
|
data_max |
28.24f |
|
|
C_format |
%9.4f |
|
|
FORTRAN_format |
F9.4 |
|
|
_FillValue |
-99.f |
|
|
Station_Duplication_Flag |
N |
|
|
Digitization_Method |
7 |
|
|
Standard |
1 |
|
|
Deepest_Depth_m |
500.f |
|
|
epic_code |
28 |
format_version(string8) |
char |
|
|
|
|
long_name |
File format version |
|
|
_FillValue |
|
|
|
description |
the version number of the GTSPP NetCDF format |
handbook_version(string8) |
char |
|
|
|
|
long_name |
GTSPP CMD System handbook version |
|
|
_FillValue |
|
|
|
description |
U.S. NODC GTSPP System Technical Document and User\'s Manual |
station_id(time, latitude, longitude) |
int |
|
|
|
|
long_name |
Station ID Number |
|
|
units |
|
|
|
description |
Identification number of the station in the GTSPP Continuously Managed Database |
woce_date |
int |
|
|
|
|
long_name |
WOCE date |
|
|
units |
yyyymmdd UTC |
|
|
data_min |
20050222 |
|
|
data_max |
20050222 |
woce_time |
int |
|
|
|
|
long_name |
WOCE time |
|
|
units |
hhmmss UTC |
|
|
data_min |
120000 |
|
|
data_max |
120000 |
ref_date_time(time) |
double |
|
|
|
|
long_name |
Reference date and time for observation days |
|
|
units |
|
|
|
_FillValue |
999999 |
|
|
description |
Julian Day Number of 1900-01-01 00:00:00 UTC |
time(time) |
double |
|
|
|
|
long_name |
time |
|
|
units |
days since 1900-01-01 00:00:00 |
|
|
data_min |
38403.5 |
|
|
data_max |
38403.5 |
obs_year(string4) |
char |
|
|
|
|
long_name |
Observation Year |
|
|
_FillValue |
|
|
|
description |
Century and year of observation |
obs_month(string2) |
char |
|
|
|
|
long_name |
Observation Month |
|
|
_FillValue |
|
|
|
description |
Month number of the observation year |
obs_day(string2) |
char |
|
|
|
|
long_name |
Observation Day |
|
|
_FillValue |
|
|
|
description |
Day number of the observation month |
obs_hour(string2) |
char |
|
|
|
|
long_name |
Observation Hour |
|
|
_FillValue |
|
|
|
description |
Hour number of the observation day |
obs_minute(string2) |
char |
|
|
|
|
long_name |
Observation Minute |
|
|
_FillValue |
|
|
|
description |
Minute number of the observation hour |
q_date_time(time) |
char |
|
|
|
|
long_name |
Date-Time Quality Flag |
|
|
_FillValue |
9 |
|
|
description |
Date-Time Quality |
latitude(latitude) |
float |
|
|
|
|
long_name |
latitude |
|
|
units |
degrees_N |
|
|
data_min |
7.996f |
|
|
data_max |
7.996f |
|
|
valid_min |
-90.f |
|
|
valid_max |
90.f |
|
|
C_format |
%8.4f |
|
|
FORTRAN_format |
F8.4 |
|
|
epic_code |
500 |
|
|
description |
Decimal degrees (+ = north, - = south) |
longitude(longitude) |
float |
|
|
|
|
long_name |
longitude |
|
|
units |
degrees_E |
|
|
data_min |
-179.881f |
|
|
data_max |
-197.881f |
|
|
valid_min |
-180.f |
|
|
valid_max |
180.f |
|
|
C_format |
%9.4f |
|
|
FORTRAN_format |
F9.4 |
|
|
epic_code |
502 |
|
|
description |
Decimal degrees (+ = east, - = west) |
q_pos |
char |
|
|
|
|
long_name |
Position Quality Flag |
|
|
_FillValue |
9 |
|
|
description |
Station Position Quality |
q_record |
char |
|
|
|
|
long_name |
Worst Quality Flag |
|
|
_FillValue |
9 |
|
|
description |
Worst Quality flag in the station |
one_deg_sq(string8) |
char |
|
|
|
|
long_name |
One Deg. Square |
|
|
units |
|
|
|
description |
MEDS geographic 1 degree square |
cruise_id(string10) |
char |
|
|
|
|
long_name |
Cruise ID Number |
|
|
_FillValue |
|
|
|
description |
Radio callsign + year for real time data, or NODC reference number for delayed mode data. |
data_type(string2) |
char |
|
|
|
|
long_name |
Data Type |
|
|
_FillValue |
|
|
|
description |
Instrument type or type of IGOSS radio message |
uflag |
char |
|
|
|
|
long_name |
Update Flag |
|
|
_FillValue |
|
|
|
description |
Record update action |
up_date(string8) |
char |
|
|
|
|
long_name |
Up Date |
|
|
_FillValue |
|
|
|
description |
Date of last action on record |
time_qc(string1) |
char |
|
|
|
|
long_name |
Date and Time Quality Flag |
|
|
_FillValue |
Argo reference table 2 |
|
|
description |
9 |
bul_time(string12) |
char |
|
|
|
|
long_name |
Bulletine Time |
|
|
_FillValue |
|
|
|
description |
Time bulletin was placed on GTS |
bul_header(string6) |
char |
|
|
|
|
long_name |
Bulletin Header |
|
|
_FillValue |
|
|
|
description |
GTS bulletin header |
source_id(string4) |
char |
|
|
|
|
long_name |
Source ID |
|
|
_FillValue |
|
|
|
description |
GTS node which placed message on the GTS |
stream_ident(string4) |
char |
|
|
|
|
long_name |
Stream Identification |
|
|
_FillValue |
|
|
|
description |
Source and type of data. Bytes 1-2 show the data source center. Byte 3-4 show data type |
qc_version(string4) |
char |
|
|
|
|
long_name |
QC Program Version No. |
|
|
_FillValue |
|
|
|
description |
Version of the QC program used. |
no_prof |
short |
|
|
|
|
long_name |
Number of Profiles |
|
|
units |
count |
|
|
description |
Number of Parameter profiles in station |
prof_type(no_prof, string4) |
char |
|
|
|
|
long_name |
Profile Type |
|
|
_FillValue |
|
|
|
description |
Type of data in profile |
digit_code(no_prof, string1) |
char |
|
|
|
|
long_name |
Digitization Code |
|
|
_FillValue |
|
|
|
description |
Data digitization method |
standard(no_prof, string1) |
char |
|
|
|
|
long_name |
Observation Standards |
|
|
_FillValue |
|
|
|
description |
Standards to which the observations were made |
deep_depth |
float |
|
|
|
|
long_name |
Deepest Depth(m) |
|
|
_FillValue |
-99.f |
|
|
description |
Depth (m) of the deepest observation in the profile. |
no_parms |
short |
|
|
|
|
long_name |
Number of Surface Parameters |
|
|
units |
count |
|
|
description |
Number of Surface Parameter groups |
pcode(no_parms, string4) |
char |
|
|
|
|
long_name |
Parameter Code |
|
|
_FillValue |
|
|
|
description |
Consult the GTSPP and WMO Code Tables to interpret what variable this is. |
parm(no_parms, string10) |
char |
|
|
|
|
long_name |
Surface Parameter Value |
|
|
_FillValue |
|
|
|
description |
Measured Surface Parameter Value. Units depend on the variable reported. They are always in SI. |
q_parm(no_parms, string1) |
char |
|
|
|
|
long_name |
Surface Parameter Quality Flag |
|
|
_FillValue |
|
|
|
description |
Consult the GTSPP and WMO Code Tables to interpret the quality flag value. |
no_surf |
short |
|
|
|
|
long_name |
Number of Surface Codes |
|
|
units |
count |
|
|
description |
Number of Surface Codes groups |
surfacecodes_pcode(no_surf, string4) |
char |
|
|
|
|
long_name |
Surface Parameter Code |
|
|
_FillValue |
|
|
|
description |
Consult the GTSPP and WMO Code Tables to interpret what variable this is. |
surfacecodes_cparm(no_surf, string10) |
char |
|
|
|
|
long_name |
Surface Code |
|
|
_FillValue |
|
|
|
description |
These are values that are stored as characters |
surfacecodes_qparm(no_surf, string1) |
char |
|
|
|
|
long_name |
Surface Code Quality Flag |
|
|
_FillValue |
|
|
|
description |
Consult the GTSPP and WMO Code Tables to interpret the quality flag value. |
no_hist |
short |
|
|
|
|
long_name |
Number of HIstory groups |
|
|
units |
count |
|
|
description |
Number of History groups |
hist_identcode(no_hist, string2) |
char |
|
|
|
|
long_name |
History Identification Code |
|
|
_FillValue |
|
|
|
description |
Identifies the agency which wrote this history record. See GTSPP and WMO Code Tables to interpret this. |
hist_prccode(no_hist, string4) |
char |
|
|
|
|
long_name |
History Processing Code |
|
|
_FillValue |
|
|
|
description |
Identifies the software through which the data passed. See GTSPP and WMO Code Tables to interpret this. |
hist_version(no_hist, string4) |
char |
|
|
|
|
long_name |
History Processing Version |
|
|
_FillValue |
|
|
|
description |
Identifies the version of the software through which the data passed. |
hist_prcdate(no_hist, string8) |
char |
|
|
|
|
long_name |
History Processing Date |
|
|
_FillValue |
|
|
|
description |
Records the date as YYYYMMDD that this history record was created. |
hist_actcode(no_hist, string2) |
char |
|
|
|
|
long_name |
History Acttion Code |
|
|
_FillValue |
|
|
|
description |
Identifies the action taken against the data by the software. See table (Codes Used) to interpret this. |
hist_actparm(no_hist, string4) |
char |
|
|
|
|
long_name |
History Action Parmameter |
|
|
_FillValue |
|
|
|
description |
Identifies the measured variable affected by the action. See table (Codes Used) to interpret this. This is the same as pcode used above. |
hist_auxid(no_hist, string8) |
char |
|
|
|
|
long_name |
History Auxilary Identification |
|
|
_FillValue |
|
|
|
description |
Normally this is the depth at which the value of a variable was acted upon by the software. |
hist_ovalue(no_hist, string10) |
char |
|
|
|
|
long_name |
History Original Value |
|
|
_FillValue |
|
|
|
description |
The original value before being acted upon by software. |
d_p_code(no_prof, string1) |
char |
|
|
|
|
long_name |
Depth/Pressure code |
|
|
_FillValue |
|
|
|
description |
Depth/Pressure code |
DEPH_qparm(depth, string1) |
char |
|
|
|
|
long_name |
Depth/Pressure Quality Flag |
|
|
_FillValue |
9 |
|
|
description |
Depth/Pressure Quality Flag |
TEMP_qparm(depth, string1) |
char |
|
|
|
|
long_name |
Temperature Quality Flag |
|
|
_FillValue |
9 |
|
|
description |
Temperature Quality Flag |
Global attributes |
|
Attribute name |
Attribute value |
|
|
title |
Global Temperature-Salinity Profile Program Data |
|
|
format_version |
GTSPP NetCDF format Ver. 3.6 |
|
|
Conventions |
COARDS, WOCE, GTSPP |
|
|
file_source |
The GTSPP Continuously Managed Data Base |
|
|
history |
Program used to create this file: meds2ncdf.pro Ver. 1.3 2004-11-24 |
|