Ocean Sites Data Management

Total Page:16

File Type:pdf, Size:1020Kb

Ocean Sites Data Management

User’s Manual for Creating CeNCOOS Water Monitoring Data Files

NetCDF Standard Version 1.1 User’s Manual for Creating CeNCOOS Water Monitoring Data Files Version: 1.1

Date: 26 January, 2009

Manual Created by: Dale Robinson and Dwight Peterson

Standard Drafted by the CeNCOOS Data Standardization Group Dale Robinson, Dwight Peterson, Krista Kamer, Marcel Losekoot, Raphael Kudela , John Largier, Frank Shaughnessy, Greg Crawford, Toby Garfield

History

Version Date Comment 0.1 07/15/2008 DHR: creation of the document 0.4 08/12/2008 DHR: first revision 0.8 09/22/2008 DHR: draft to HSU, BML, UCSC 1.0 11/19/2008 DHR edits from HSU, BML, UCSC, Kamer, Garfield 1.1 1/23/2009 DHR change file naming and structure, ML edits CeNCOOS_WTS_CDL V 1.1 January 26, 2009 Table of contents 1. OVERVIEW...... 5

2. FILE FORMAT BACKGROUND...... 6

2.1. NETWORK COMMON DATA FORM (NETCDF)...... 6 2.2. COMMON DATA LANGUAGE (CDL)...... 6 2.3. NETCDF CONVENTIONS...... 7 3. DATA FILE CONFIGURATIONS...... 8

4. DIMENSIONS...... 8

4.1. TIME DIMENSION...... 9 4.2. LATITUDE AND LONGITUDE DIMENSIONS...... 9 4.3. VERTICAL DIMENSION...... 9 4.3.1. Fixed vertical position...... 9 5. COORDINATE VARIABLES...... 9

5.1. TIME VARIABLE...... 10 5.2. LONGITUDE VARIABLE...... 10 5.3. LATITUDE VARIABLE...... 10 5.4. VERTICAL COORDINATE VARIABLE...... 11 5.4.1. When to use the Vertical Dimension and Coordinate Variable...... 11 6. DATA VARIABLES...... 12

6.1. STRUCTURE...... 12 6.2. VARIABLE ATTRIBUTES...... 12 6.3. VARIABLES RELATING HEIGHT TO DIFFERENT TIDAL DATUMS...... 13 6.3.1. Height relative to WGS 84 ( ht_wgs84)...... 13 6.3.2. Height relative to mean lower low water (ht_mllw)...... 14 6.4. COMMON WATER DATA VARIABLES...... 14 6.4.1. Depth...... 15 6.4.2. Water Pressure...... 15 6.4.3. Water Temperature...... 15 6.4.4. Salinity...... 15 6.4.5. Chlorophyll Concentration...... 16 6.4.6. Turbidity...... 16 6.4.7. Oxygen Concentration...... 16 6.4.8. Oxygen Saturation...... 16 6.4.9. Transmittance...... 17 6.4.10. Subsurface PAR...... 17 6.4.11. pH...... 17 6.4.12. Specific Conductivity...... 17 6.5. LESS COMMON WATER DATA VARIABLES...... 18 6.5.1. Conductivity...... 18 6.5.2. Partial Pressure of Carbon Dioxide (pCO2)...... 18 6.5.3. Silicate...... 18

6.5.4. Total Reactive Phosphate, PO4...... 18 6.5.5. Ammonium, NH4...... 19 6.5.6. Nitrate, NO3...... 19 6.5.7. Nitrate plus Nitrite, NO3 + NO2...... 19 6.5.8. Chlorophyll Fluorometer Raw Voltages or Relative Units...... 19 6.5.9. Turbidity Sensor Raw Voltages...... 20 6.6. OPTIONAL WATER DATA VARIABLES...... 20 6.6.1. Alternate time format...... 20 6.6.2. Density...... 20

6.6.3. Sigma_t (t)...... 21

CeNCOOS water monitoring User Manual 3 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

7. GLOBAL ATTRIBUTES...... 21

7.1. REQUIRED GLOBAL ATTRIBUTES...... 22 7.1.1. :Conventions...... 22 7.1.2. :title...... 22 7.1.3. :summary...... 22 7.1.4. :time_coverage_start...... 22 7.1.5. :time_coverage_end...... 23 7.1.6. :creation_date...... 23 7.1.7. :license...... 23 7.1.8. :id...... 23 7.1.9. naming_authority...... 24 7.2. RECOMMENDED GLOBAL ATTRIBUTES – INFORMATIONAL...... 24 7.2.1. :source...... 24 7.2.2. :keywords_vocabulary...... 25 7.2.3. :keywords...... 25 7.2.4. :institution...... 25 7.2.5. :institution_url...... 25 7.2.6. :contact...... 26 7.3. RECOMMENDED GLOBAL ATTRIBUTES – GEOSPATIAL...... 26 7.3.1. :geospatial_lat_max...... 26 7.3.2. :geospatial_lat_min...... 26 7.3.3. :geospatial_lat_units...... 26 7.3.4. :geospatial_lon_max...... 26 7.3.5. :geospatial_lon_min...... 26 7.3.6. :geospatial_lon_units...... 27 7.3.7. :geospatial_vertical_max...... 27 7.3.8. :geospatial_vertical_min...... 27 7.3.9. :geospatial_vertical_positive...... 27 7.3.10. :geospatial_vertical_units...... 27 7.3.11. :geospatial_vertical_reference...... 27 7.4. OPTIONAL GLOBAL ATTRIBUTES...... 28 7.4.1. :comment...... 28 7.4.2. :cdm_data_type...... 28 7.4.3. :acknowledgment...... 28 7.4.4. :references...... 28 7.4.5. :institution_dods_url...... 28 8. CENCOOS META-DATA FORMAT...... 28

9. DICTIONARY/VOCABULARY...... 28

9.1. CONVENTION FOR PARAMETER NAMES, STANDARD NAMES AND UNITS...... 29 9.2. CENCOOS PARAMETER DICTIONARY...... 29 10. FILE NAMING CONVENTION...... 35

10.1. DATA FILE NAMING CONVENTION...... 35 10.2. REAL-TIME, NEAR REAL-TIME, AND ARCHIVAL FILES...... 36 11. APPENDICES...... 37

11.1. GCMD SCIENCE KEYWORDS...... 37 11.2. INTERCONVERSION AMONG VERTICAL DATUMS...... 38 11.3. NOTE ON MULTIPLE SENSOR DEPTHS...... 38 12. REFERENCES...... 39

CeNCOOS water monitoring User Manual 4 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

1. Overview This document describes a set of conventions adopted by the Central and Northern California Ocean Observing System (CeNCOOS) to promote sharing and exchange of data from various data sources. This initial effort is limited in scope to water time series (WTS) monitoring data from pier- and buoy-based observation platforms operated by institutions participating in the CeNCOOS Bays project (a regional partnership of near real-time data providers funded by NOAA). Instrumentation from each platform typically includes a CTD (conductivity, temperature, and depth) instrument and ancillary sensors, such as chlorophyll fluorometers and pH meters.

This document describes the netCDF format categories, coordinate variables (latitude, longitude, altitude, and time), data variables, required and recommended variable attributes, and required and recommended global attributes. The name of this standard is “CeNCOOS_WTS_CDL”. CDL stands for Common Data Language. The current accepted version is 1.0. The CeNCOOS_WTS_CDL provides conformity that will allow CeNCOOS data to be accessed by tools for graphical displays, such as the Environmental Research Division's Data Access Program server or ERDDAP (http://coastwatch.pfel.noaa.gov/erddap/index.html), and for automated search and aggregation. Ultimately, it will allow CeNCOOS to consolidate data from many different sources into merged datasets.

The format that the CeNCOOS_WTS_CDL is built upon is the community-supported Climate and Forecast standard NetCDF implementation, which supplies a standard vocabulary and some metadata conventions. In addition, we wish to acknowledge the work and leadership of the SEACOOS and OceanSITES groups from whose user manuals much of material within the CeNCOOS user manual has been directly adopted (Southeast Atlantic Coastal Ocean Observing System NetCDF Standard: SEACOOS CDL v2.0, Cook et al., Dec. 2004; OceanSITES User’s Manual Version 1.0, OceanSITES data management team, May 2006).

CeNCOOS water monitoring User Manual 5 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 2. File Format Background

1.1. Network Common Data Form (netCDF) NetCDF is a file format for storing observational and modeling data that is self-describing, portable and platform-independent. “Self-describing” means it contains data about the data (e.g. units and variable descriptions) that render data within the file immediately usable without the need for addition information. “Portable” means that the data in a dataset is represented in a form that can be accessed by computers with different methods of storing integers, characters, and floating-point numbers.

NetCDF has a set of functional libraries that can compress, subset and transform data. The netCDF software libraries and software utilities are available from Unidata (http://www.unidata.ucar.edu/software/netcdf/). The NetCDF User’s Guide thoroughly documents the assets and limitations of netCDF (http://my.unidata.ucar.edu/content/software/netcdf/docs.html). Useful information also may be found on Wikipedia (http://en.wikipedia.org/wiki/NetCDF).

1.2. Common Data Language (CDL) Common Data Language (CDL) is textual notation that describes the netCDF file and it is human readable. The netCDF utility ncdump converts netCDF binary files to CDL text. The netCDF utility ncgen creates a netCDF binary file from a well-formed CDL text file.

A CDL description of a netCDF dataset is structured into three main sections: dimensions, variables and data. A file acts as an outer package or wrapper that contains the three sections, as illustration in the generalized form below:

netCDF file_name { dimensions: ... variables: ... data: ... }

A more detailed description of the file name and sections is provided below:

 file_name Used only as a default in constructing file names by the ncgen utility.  dimensions Section title introducing one of the three sections of the CDL description. Dimension declarations appear after the dimensions keyword and take the following form: dimensions: time = UNLIMITED ; altitude = value ; // value= the number of depths/altitudes lat = 1 ; lon = 1 ;  variables Section title introducing one of the three sections of the CDL description. Variables and variable attributes (variable metadata) are defined after the variables keyword and take the following form:

CeNCOOS water monitoring User Manual 6 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 datatype var_name (time, altitude, lat, lon) ; var _name:attribute1_name = "attribute values" ; var _name:attribute2_name = "attribute values" ; var _name:attribute3_name = "attribute values" ;

o The global attributes (global metadata) that describe the overall characteristic of the file and file contents also are included in this section.

 data Section title introducing one of the three sections of the CDL description. Variable data assignments appear after the data keyword and consist of the variable names (var_name) and their associated data.

 A simple example of CDL data format. Do not use the example as a template for your file.

netcdf myfilename { dimensions: // dimension names are declared first time = UNLIMITED ; altitude = 1 lat = 1 ; lon = 1 ;

variables: // variable types, names, dimensions, attributes int time(time) ; // coordinate variable time:units = "seconds since 1970-01-01 00:00:00 UTC" ; time:long_name = "time" ; time:standard_name = "time" ; float lat(lat) ; // coordinate variable lat:units = "degree_north" ; lat:long_name = "latitude" ; lat:standard_name = "latitude" ; float lon(lon) ; // coordinate variable lon:units = "degree_east" ; lon:long_name = "longitude" ; lon:standard_name = "longitude" ; float water_temp(time, altitude, lat, lon) ; water_temp:long_name = " temperature" ; water_temp:units = "deg_C" ; water_temp sea_water_temperature

// global attributes :Convention = "CF-1.3";

data: // data assignments time = 256000050, 256003352, 256009639 ; lat = 37.8 ; lon = -122 ; // altitude = -10 ; temp = 15.5, 17.9, 16.7 ;

1.3. NetCDF Conventions

The CeNCOOS_WTS_CDL is based on the NetCDF Climate and Forecast (CF) Metadata Conventions v1.3. One purpose of the CF conventions is to require conforming data files to contain a minimum set of metadata so that they are self-describing, i.e. each

CeNCOOS water monitoring User Manual 7 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 variable in the file has an associated description of what it represents, including physical units, and so that each variable value can be located in time and space. The requirements for the CeNCOOS_WTS_CDL are drawn almost exclusively from the CF netCDF Style Guide:  Variable standard names follow the CF dictionary as much as possible. http://cf-pcmdi.llnl.gov/documents/cf-standard-names/8/cf-standard-name- table.html?searchterm=standard+name  Deviation from the CF dictionary occurs where the dictionary does not contain the needed variables and attributes;  Units are compliant with CF and the UDUNITS package. The UDUNITS package supports conversion between string and binary representations of units, arithmetic manipulation of units, and conversion of numeric values between compatible units. (http://www.unidata.ucar.edu/software/udunits/udunits- 1/udunits.txt);

The CeNCOOS_WTS_CDL can contain additional variables and attributes not described in the CF Metadata Conventions v1.3 and still be in compliance with the conventions. Deviations from the CF dictionary are described in the CeNCOOS Water Monitoring Dictionary.

3. Data File Configurations Three types of data file configurations have been identified for the CeNCOOS Bays project. These configurations are distinguished by the vertical position of the sensors and whether or not the sensor suite includes sensors that indicate depth (e.g. pressure sensors).  Fixed vertical position: Sensors that do not move in the vertical direction, such as those attached to piers (with or without pressure sensors).  Surface-following: Floating sensors that move in the vertical direction and maintain the same position relative to the sea surface and the sensor suite includes pressure sensors.  Surface-following without pressure sensors: Floating sensors that move in the vertical direction and maintain the same position relative to the sea surface and the sensor suite does not include pressure sensors. In this document we will address fixed vertical position and surface-following data format categories. The data format for surface-following without pressure sensors is beyond the scope of this document. If needed, it will be addressed in the next version of the document.

4. Dimensions In most cases, CeNCOOS_WTS_CDL files contain the four independent dimensions: time (T), altitude (vertical or Z), lat (latitude or Y) and lon (longitude or X). In some cases only three independent dimensions are required (see section 5.4.1 When to use the Vertical Dimension and Coordinate Variable). Dimensions should appear in the relative order T, then Z, then Y, then X in the CDL definition.

CeNCOOS water monitoring User Manual 8 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 1.4. Time dimension

Only one unlimited dimension is allowed in netCDF. For CeNCOOS Bay netCDF files the time dimension is unlimited. TIME= unlimited;

1.5. Latitude and Longitude dimensions For the CeNCOOS Bays data, each file contains data from one physical location. So, the dimensions for latitude and longitude are set at unity lat = 1 ; lon = 1 ;

1.6. Vertical dimension

4.1. Fixed vertical position

For most CeNCOOS Bays stations, all of the sensors are located at a single depth. When this configuration is the case, then the vertical dimension, altitude, is set to unity. altitude = 1; There is a special provision to accommodate data from sensors mounted at different heights for one platform. For example, some fixed-position stations may have temperature and conductivity sensors mounted at 4 m below mean sea level while a PAR (photosynthetically available radiation) sensor is located at only 2 m below mean sea level. For these cases, please refer to Appendix 11.3. Multiple Sensor Depths.

5. Coordinate Variables

The coordinate variables describe the location of the sensors in space and time. For CeNCOOS Bays coordinate variables the following requirements apply:  Coordinate variables take the name of their corresponding dimension. They are associated with their dimension in CDL in the form :variable_name(dimension). o The time coordinate variable name is “time” and it is associated with the “time” dimension (T-axis), i.e. :time(time) ; o The vertical coordinate variable name is “altitude” and it is associated with the “altitude” dimension (Z-axis), i.e. :altitude(altitude) ; o One horizontal coordinate variable name is “lat” and it is associated with the “lat” dimension (Y-axis), i.e. :lat(lat) ; o A second horizontal coordinate variable name is “lon” and it is associated with the “lon” dimension (X-axis), i.e. :lon(lon) ;  In most cases, CeNCOOS_WTS_CDL files contain four independent coordinate variables (time, altitude, lat, lon) that describe the spatial and temporal setting of the data. In some cases only three independent coordinate variables (time, lat, lon) are

CeNCOOS water monitoring User Manual 9 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 required (see section 5.4.1 When to use the Vertical Dimension and Coordinate Variable).  Each coordinate variable must be described at the beginning of the variable section. A best practice is to describe the coordinate variables in the same order as the dimensions: T, then Z, then Y, then X (see the figure in section 2.2).

 Each independent variable must always explicitly include at minimum the units and standard_name attributes.  The missing value and fill value attributes are not allowed for coordinate variables.

1.7. Time Variable int time(time); time: long_name = "Time"; time: standard_name = "time"; time: units = "sec since 1970-01-01 00:00:00 UTC"; time: axis = "T"; time: ioos_category = "Time";

1.8. Altitude (Vertical Coordinate Variable) The vertical coordinate variable is named “altitude” and is referenced to the “altitude” dimension (Z-axis). This standard name for this variable also is “altitude”. The standard name is taken from the CF data dictionary and it carries a very specific definition: Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is a representation of mean sea level. For CeNCOOS Bays, this means that the vertical coordinate is the vertical distance above mean sea level (MSL). A present, the CF convention does not include a way to specify how MSL is defined. Therefore, this information, if included, should be in the “comment” attribute or placed in a document that is accessible via a URL with the URL indicated in a “references” attribute. The vertical coordinate variable is not always used to create the netCDF files. This topic is discussed in the next section.

5.1. When to use the Vertical Dimension and Coordinate Variable

Whether or not the vertical coordinate variable is used depends on the nature of the platform on which a station’s sensors are deployed and if the sensor suite includes sensors that indicate depth (e.g. pressure sensors).

5.1.1. Fixed Position Sensors The vertical coordinate variable, altitude, will be used to describe the location of the sensors in vertical space (i.e. not the distance below the water’s surface) for sensors in a fixed vertical position (e.g. pier-mounted). For coordinate variable “altitude”, use the following CDL markup as written with the following exceptions:

CeNCOOS water monitoring User Manual 10 CeNCOOS_WTS_CDL V 1.1 January 26, 2009  Replace the word value with a value determined for the file being generated, where value (without quotes) indicates an integer and “value” (with quotes) indicates a string.

float altitude(altitude); altitude:long_name = "Height above mean sea level"; altitude:standard_name = "altitude"; altitude:units = "m"; altitude:positive = "up"; altitude:axis = "Z"; altitude:data_min = value ; altitude:data_max = value ; altitude:ioos_category = "Location";

5.1.2. Surface-Following Sensors  For surface-following (e.g. floating) sensors, associating the location of the sensor relative to a fixed tidal datum like MSL is difficult and probably would exceed the resources of data providers with limited funds. Therefore, the vertical dimension and the vertical coordinate variable are not used for surface following sensors.

1.9. Latitude Latitude is a coordinate variable that is referenced to the lat dimension (i.e. the coordinate y-axis). Please construct the latitude CDL section as described below:

float lat(lat); lat: long_name = "latitude in decimal degree north"; lat: standard_name = "latitude"; lat: units = "degree_north"; lat: axis = "Y"; lat: valid_min = -90 ; lat: valid_min = 90 ; lat: ioos_category = "Location";

1.10. Longitude Variable Longitude is represented as a coordinate variable that is referenced to the lon dimension (i.e. the coordinate x-axis). Please construct the longitude CDL section as described below:

float lon(lon); lon: long_name = "longitude in decimal degree east"; lon: standard_name = "longitude"; lon: units = "degree_east" ; lon: axis = "X"; lon: valid_min = -180 ; lon: valid_max = 180 ; lon: ioos_category = "Location";

6. Data Variables

CeNCOOS water monitoring User Manual 11 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 1.11. Structure The descriptions of the data variables have the following elements, presented below in the form of the CDL file datatype var_name (dim1, dim2, dim3, dim4) ; var _name:attribute1_name = "attribute values" ; var _name:attribute2_name = "attribute values" ; var _name:attribute3_name = "attribute values" ;

 datatype: The type of data that will be included in this variable. The data types char, byte, short, int, float or real, and double are all acceptable. The char type is not intended for numeric data. One byte numeric data should be stored using the byte data type. All integer types are treated by the netCDF standard as signed. NetCDF does not support a character string type, so these must be represented as character arrays.  var_name: The abbreviated name for the variable.  dim1, dim2, dim3, dim4: The dimension to which the variable is associated. Every value of the variable will be associated with these dimensions. Most often the data variables will be associated with all of the coordinate dimensions, for example: datatype var_name (time, altitude, lat, lon).  attributes: The metadata attached to each variable  attribute values: The values taken by the attributes: strings are surrounded by quotes and integers are not.

1.12. Variable Attributes Variable attributes are metadata that describe the data held in each data variable. Every data variable is required to have the following attributes:  standard_name: A standardized naming of a measured parameter that allows users of data from different sources to determine whether quantities are in fact comparable. It can be used to make connections to other dictionaries. There isn’t much flexibility to change these names, since they follow the CF naming convention as much as possible. Deviation from the CF convention occurs when there is no appropriate CF standard name.  long_name: A long descriptive name that may, for example, be used for labeling plots. These names are not standardized. CeNCOOS will use long_name to clarify what the variable is.  units: The units used for each variable must be compatible with the Unidata UDUNITS file. (http://www.unidata.ucar.edu/software/udunits/udunits- 1/udunits.txt).  ioos_category: IOOS is developing a set of core parameter categories. The categories are still under development but will soon become an IOOS standard. Adding them as an attribute will allow us to rapidly conform to emerging IOOS standards.  missing_value: Value that is automatically put into the void left by a missing value.  _FillValue: All data fields are first filled with this value before being populated with real data. Please note the form of this variable with the underscore first.

CeNCOOS water monitoring User Manual 12 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 It is recommended that the following attributes be included. These attributes call for the actual maximum and minimum data values in the file for a specific data variable:  data_min: Minimum value in the data file  data_max: Maximum value in the data file

Alternatively, one can use attributes that define a valid range:  valid_min:  valid_max: Make sure that the range is larger than the data values: automated systems will put the missing data value in for any data value that is outside the range.

1.13. Variables Relating Height to Different Tidal Datums The results of the CeNCOOS Bays needs assessment indicated the need to reference the vertical coordinate variable to two additional datums: the World Geodetic System 1984 (WGS 84) and the tidal datum MLLW. At present, the CF convention does not adequately address defining the vertical coordinate or interconverting among the various vertical datums, although both of these issues are under discussion as a result of the inquiries by CeNCOOS Bays. As an interim solution, CeNCOOS Bays uses two special data variables to accommodate WGS 84 and MLLW datums:  ht_wgs84 - Values held in ht_wgs84 are equal to the height above the datum set by the WGS 84 ellipsoid. o standard name = “height_above_reference_ellipsoid”. This standard name is in the CF convention.  ht_mllw - Values held in ht_mllw are equal to the height above the tidal datum mean lower low water. o standard name = “height_above_mean_lower_low_water” This name is not in the CF convention. Please note the following when using ht_wgs84 and ht_mllw:  Both ht_wgs84 and ht_mllw are associated only with the vertical dimension (i.e. altitude) in the CDL file. Therefore, each variable contains the same number of data points as the altitude variable.  These two variables are not used for surface following sensors.  For information on how to convert among the MSL, MLLW, and WGS 84 datums refer to Appendix 11.2. Interconversion Among Vertical Datums

6.1. Height relative to WGS 84 (ht_wgs84)

For the following data variable, use the CDL markup as written with the following exceptions:  Replace the word value with a value determined for the file being generated, where value (without quotes) indicates an integer and “value” (with quotes) indicates a string.  It does not matter in which order the attributes appear below the variable name.

CeNCOOS water monitoring User Manual 13 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

float ht_wgs84 (altitude); ht_wgs84:long_name = "Height above WGS 84" ; ht_wgs84:standard_name = "height_above_reference_ellipsoid"; ht_wgs84:units = "m"; ht_wgs84:data_min = value ; ht_wgs84:data_max = value ; ht_wgs84:ioos_category = "Location"; ht_wgs84:ellipsoid_name = "WGS 84" ; ht_wgs84:missing_value = -99999. ; ht_wgs84:_Fillvalue = -99999. ;

6.2. Height relative to mean lower low water (ht_mllw)

For the following data variable, use the CDL markup as written with the following exceptions:  Replace the word value with a value determined for the file being generated, where value (without quotes) indicates an integer and “value” (with quotes) indicates a string.  It does not matter in which order the attributes appear below the variable name.

float ht_mllw (altitude); ht_mllw:long_name = "Height above mean lower low water" ; ht_mllw:standard_name = "height_above_mean_lower_low_water"; ht_mllw:units = "m"; ht_mllw:data_min = value ; ht_mllw:data_max = value ; ht_mllw:ioos_category = "Location"; ht_mllw:missing_value = -99999. ; ht_mllw:_Fillvalue = -99999. ;

1.14. Common Water Data Variables

For the following data variables, use the CDL markup as written with the following exceptions:  Replace the word value with a value determined for the file being generated, where value (without quotes) indicates an integer and “value” (with quotes) indicates a string.

 For surface-following instruments, change the dimensions from (time, altitude, lat, lon) to (time, lat, lon). The altitude vertical dimension and coordinate variable are not used for surface-following instruments.  It does not matter in which order the attributes appear below the variable name.

6.3. Depth

If your instrument reports depth values or if you plan on doing the conversion from pressure to depth, then use this “depth” variable and the “water_press” variable. If

CeNCOOS water monitoring User Manual 14 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 your instrument reports only pressure then use only the water pressure variable, not depth. float depth (time, altitude, lat, lon) ; depth:long_name = "Depth below the surface" ; depth:standard_name = "depth" ; depth:units = "m" ; depth:data_min = value ; depth:data_max = value ; depth:ioos_category = "Pressure"; depth:missing_value = -99999. ; depth:_Fillvalue = -99999. ;

6.4. Water Pressure

Water pressure is often used as a measure of the depth below the surface. Report the water pressure in the water_press variable. float water_press(time, altitude, lat, lon) ; water_press:long_name = "Water Pressure" ; water_press:standard_name = "water_pressure" ; water_press:units = "dbar" ; water_press:data_min = value ; water_press:data_max = value ; water_press:ioos_category = "Pressure" ; water_press:missing_value = -99999. ; water_press:_Fillvalue = -99999. ;

6.5. Water Temperature

Use the long name to indicate the temperature scale used. Most use the International Temperature Scale of 1990 (IPTS-90).

float wtemp(time, altitude, lat, lon) ; wtemp:long_name = "Water Temperature, IPTS-90" ; wtemp:standard_name = "water_temperature" ; wtemp:units = "degree_Celsius" ; wtemp:data_min = value ; wtemp:data_max = value ; wtemp:ioos_category = "Temperature"; wtemp:missing_value = -99999. ; wtemp:_Fillvalue = -99999. ;

6.6. Salinity Use the long name to indicate the salinity scale used. The scale used is most likely the Practical Salinity Scale of 1978 (PSS78).

float sal(time, altitude, lat, lon) ; sal:long_name = "Salinity, IPSS-78" ; sal:standard_name = "salinity" ; sal:units = " 0.001" ; sal:data_min = value ; sal:data_max = value ; sal:ioos_category = "Salinity"; sal:missing_value = -99999. ; sal:_Fillvalue = -99999. ;

CeNCOOS water monitoring User Manual 15 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

sal:comment = “Salinity is based on the Practical Salinity Scale of 1978 (PSS78) and is without dimensions. The CF-1.3 convention recognizes that PSS78 is dimensionless yet recommends a unit of 0.001 to reflect parts per thousand”;

6.7. Chlorophyll Concentration The concentration of chlorophyll in sea water measure by in vivo fluorescence.

float chl_conc (time, altitude, lat, lon) ; chl_conc:long_name = "In vivo fluorometric chlorophyll concentration" ; chl_conc:standard_name = "concentration_of_chlorophyll_in_sea_water" ; chl_conc:units = "microg L-1" ; chl_conc:data_min = value ; chl_conc:data_max = value ; chl_conc:ioos_category = "Ocean Color"; chl_conc:missing_value = -99999. ; chl_conc:_Fillvalue = -99999. ;

6.8. Turbidity float turb (time, altitude, lat, lon) ; turb:long_name = "Turbidity" ; turb:standard_name = "turbidity" ; // not in CF convention turb:units = "NTU" ; // not in CF Convention turb:data_min = value ; turb:data_max = value ; turb:ioos_category = "Optical Properties"; turb:missing_value = -99999. ; turb:_Fillvalue = -99999. ;

6.9. Oxygen Concentration float oxygen_conc (time, altitude, lat, lon) ; oxygen_conc:long_name = "Dissolved oxygen concentration" ; oxygen_conc:standard_name = "mass_concentration_of_oxygen_in_sea_water" ; oxygen_conc:units = "microg L-1 " ; oxygen_conc:data_min = value ; oxygen_conc:data_max = value ; oxygen_conc:ioos_category = "Dissolved O2"; oxygen_conc:missing_value = -99999. ; oxygen_conc:_Fillvalue = -99999. ;

6.10. Oxygen Saturation Although the standard name indicates that these values are fractions, we report the values as percent saturation.

float oxygen_sat (time, altitude, lat, lon) ; oxygen_sat:long_name = "Oxygen saturation" ; oxygen_sat:standard_name = "fractional_saturation_of_oxygen_in_sea_water" ; oxygen_sat:units = "%" ; oxygen_sat:data_min = value ; oxygen_sat:data_max = value ;

CeNCOOS water monitoring User Manual 16 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

oxygen_sat:ioos_category = "Dissolved O2"; oxygen_sat:missing_value = -99999. ; oxygen_sat:_Fillvalue = -99999. ;

6.11. Beam Attenuation Percent transmittance from the transmissometer is converted to beam attenuation (c) using the equation:

c=1/x * ln(Tr)

where x is the pathlength and Tr is the percent transmittance.

float beamc(time, altitude, lat, lon) ; beamc:long_name = "Beam attenuation" ; beamc:standard_name = "volume_beam_attenuation_coefficient_of_radiative_flux_in_sea_water" ; beamc:units = "m-1" ; beamc:data_min = value ; beamc:data_max = value ; beamc:ioos_category = "Optical Properties"; beamc:missing_value = -99999. ; beamc:_Fillvalue = -99999. ;

6.12. Subsurface PAR Note that “photon” is used in the standard name. Therefore, “photon” or “quanta” are not included in the units, just as the word “nitrate” is not included in the units for nitrate concentration.

float subsurf_PAR(time, altitude, lat, lon) ; subsurf_PAR:long_name = "Subsurface photosynthetically available radiation" ; subsurface_PAR:standard_name = "downwelling_photosynthetic_photon_flux_in_sea_water" ; subsurf_PAR:units = "mol m-2 s-1" ; subsurf_PAR:data_min = value ; subsurf_PAR:data_max = value ; subsurf_PAR: ioos_category = "Ocean Color"; subsurf_PAR:missing_value = -99999. ; subsurf_PAR:_Fillvalue = -99999. ;

6.13. pH float pH (time, altitude, lat, lon) ; pH:long_name = "pH" ; pH:standard_name = "pH" ; // not in CF convention pH:units = "1" ; // the “one” indicates no units pH:data_min = value ; pH:data_max = value ; pH:ioos_category = "Other"; pH:missing_value = -99999. ; pH:_Fillvalue = -99999. ;

6.14. Specific Conductivity float sp_cond (time, altitude, lat, lon) ;

CeNCOOS water monitoring User Manual 17 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

sp_cond:long_name = "Specific conductivity" ; sp_cond:standard_name = "sea_water_electrical_conductivity" ; sp_cond:units = "S m-1" ; sp_cond:data_min = value ; sp_cond:data_max = value ; sp_cond:ioos_category = "Salinity"; sp_cond:missing_value = -99999. ; sp_cond:_Fillvalue = -99999. ;

1.15. Less Common Water Data Variables

For the following data variables, use the CDL markup as written with the following exceptions:  Replace the word value with a value determined for the file being generated, where value (without quotes) indicates an integer and “value” (with quotes) indicates a string.

 For surface-following instruments, change the dimensions from (time, altitude, lat, lon) to (time, lat, lon). The altitude vertical dimension and coordinate variable are not used for surface-following instruments.

6.15. Conductivity float cond (time, altitude, lat, lon) ; cond:long_name = "Conductivity" ; cond:standard_name = "conductivity" ; // not in CF convention cond:units = "S" ; cond:data_min = value ; cond:data_max = value ; cond:ioos_category = "Salinity"; cond:missing_value = -99999. ; cond:_Fillvalue = -99999. ;

6.16. Partial Pressure of Carbon Dioxide (pCO2) float pCO2 (time, altitude, lat, lon) ; pCO2:long_name = "Partial pressure of carbon dioxide in seawater" ; pCO2:standard_name = "surface_partial_pressure_of_carbon_dioxide_in_sea_water" ; pCO2:units = "Pa" ; pCO2:data_min = value ; pCO2:data_max = value ; pCO2:ioos_category = "Other"; pCO2:missing_value = -99999. ; pCO2:_Fillvalue = -99999. ;

6.17. Silicate float silicate (time, altitude, lat, lon) ; silicate:long_name = "Silicate concentration" ; silicate:standard_name = "mole_concentration_of_silicate_in_sea_water" ; silicate:units = "micromol L-1" ; silicate:data_min = value ; silicate:data_max = value ;

CeNCOOS water monitoring User Manual 18 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

silicate:ioos_category = "Dissolved Nutrients"; silicate:missing_value = -99999. ; silicate:_Fillvalue = -99999. ;

6.18. Total Reactive Phosphate, PO4 float PO4 (time, altitude, lat, lon) ; PO4:long_name = "Phosphate concentration" ; PO4:standard_name = "mole_concentration_of_ phosphate_in_sea_water" ; PO4:units = "micromol L-1" ; PO4:data_min = value ; PO4:data_max = value ; PO4:ioos_category = "Dissolved Nutrients"; PO4:missing_value = -99999. ; PO4:_Fillvalue = -99999. ;

6.19. Ammonium, NH4 float NH4 (time, altitude, lat, lon) ; NH4:long_name = "Ammonium concentration" ; NH4:standard_name = "mole_concentration_of_ ammonium_in_sea_water" ; NH4:units = "micromol L-1" ; NH4:data_min = value ; NH4:data_max = value ; NH4:ioos_category = "Dissolved Nutrients"; NH4:missing_value = -99999. ; NH4:_Fillvalue = -99999. ;

6.20. Nitrate, NO3 float NO3 (time, altitude, lat, lon) ; NO3:long_name = "Nitrate concentration" ; NO3:standard_name = "mole_concentration_of_nitrate_ in_sea_water" ; NO3:units = "micromol L-1" ; NO3:data_min = value ; NO3:data_max = value ; NO3:ioos_category = "Dissolved Nutrients"; NO3:missing_value = -99999. ; NO3:_Fillvalue = -99999. ;

6.21. Nitrate plus Nitrite, NO3 + NO2 float NO3_NO2 (time, altitude, lat, lon) ; NO3_NO2:long_name = "Nitrate plus nitrite concentration" ; NO3_NO2:standard_name = "mole_concentration_of_NO3_and_NO2_in_sea_water" ; // not in CF convention NO3_NO2:units = "micromol L-1" ; NO3_NO2:data_min = value ; NO3_NO2:data_max = value ; NO3_NO2:ioos_category = "Dissolved Nutrients"; NO3_NO2:missing_value = -99999. ; NO3_NO2:_Fillvalue = -99999. ;

CeNCOOS water monitoring User Manual 19 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 6.22. Chlorophyll Fluorometer Raw Voltages or Relative Units float chl_uncal (time, altitude, lat, lon) ; chl_uncal:long_name = "In vivo chlorophyll fluorometry in uncalibrated units" ; chl_uncal:standard_name = "chl_fluorometer_uncalibrated" ; // not in CF convention chl_uncal:units = "volts" ; // use “1” (one) for the rfu output of YSI uncalibrated units chl_uncal:data_min = value ; chl_uncal:data_max = value ; chl_uncal:ioos_category = "Ocean Color "; chl_uncal:missing_value = -99999. ; chl_uncal:_Fillvalue = -99999. ;

6.23. Turbidity Sensor Raw Voltages float turb_uncal (time, altitude, lat, lon) ; turb_uncal:long_name = "Turbidity in uncalibrated units" ; turb_uncal:standard_name = "turbidity_uncalibrated" ; // not in CF convention turb_uncal = "volts" ; turb_uncal:data_min = value ; turb_uncal:data_max = value ; turb_uncal:ioos_category = "Optical Properties"; turb_uncal:missing_value = -99999. ; turb_uncal:_Fillvalue = -99999. ;

1.16. Optional Water Data Variables

For the following data variables, use the CDL markup as written with the following exceptions:  Replace the word value with a value determined for the file being generated, where value (without quotes) indicates an integer and “value” (with quotes) indicates a string.

 For surface-following instruments, change the dimensions from (time, altitude, lat, lon) to (time, lat, lon). The altitude vertical dimension and coordinate variable are not used for surface-following instruments.

6.24. Alternate time format

To use this variable an additional dimension must be added to the dimension section of the file. After the lat dimension add: ISOT_STR_LEN = 24 Then the variable description is constructed as follows:

char iso_time (time, ISOT_STR_LEN) ; iso_time:long_name = "Time in ISO 8601 Format" ; iso_time:standard_name = "iso_time" ; iso_time:units = "YYYY-MM-DD hh:mm:ss UTC" ; iso_time:data_min = “value” ; iso_time:data_max = “value” ;

CeNCOOS water monitoring User Manual 20 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

iso_time:ioos_category = "Time" ; iso_time:missing_value = "0000-00-00 00:00:00 UTC" ; iso_time:_Fillvalue = "0000-00-00 00:00:00 UTC" ;

6.25. Density Density used to be based on the Knudson-Ekman equation of state (1903) and the Cox equation. Its symbol was  (sigma). Now, density is computed using the new equation of state (1980), a very different equation from Knudson-Ekman, with salinity based on the practical salinity scale of 1978 (PSS78). The solution for density is in units of Kg m-3. This new computation for density is given the symbol  (gamma).

float density (time, altitude, lat, lon) ; density:long_name = "Density" ; density:standard_name = "sea_water_density" ; density:units = "kg m-3" ; density:data_min = value ; density:data_max = value ; density:ioos_category = "Salinity" ; density:missing_value = -99999 ; density:_Fillvalue = -99999 ;

6.26. Sigma_t (t)

This parameter is mislabeled in the CF vocabulary of standard names. Sigma-t (t) is

the specific gravity anomaly defined as the following: t = [density/maximum water density -1] x 1000. Notice that the sigma is unitless, because it is a ratio. However -3 the t defined in the CF vocabulary has units of kg m . t is not the preferred parameter to use when describing properties of density. The preferred term is

gamma-t (t), the density anomaly, which is based on the new formulation of density

(see Density in section 6.6.2). t is computed by the following equation: t = density () - 1000. The solution has units of Kg m-3. We are working with the CF forum to change the standard name from sigma_t to gamma_t

float sigma_t (time, altitude, lat, lon) ; sigma_t:long_name = "Sigma-t (density anomaly)" ; sigma_t:standard_name = "sea_water_sigma_t" ; sigma_t:units = "kg m-3" ; sigma_t:data_min = value ; sigma_t:data_max = value ; sigma_t:ioos_category = "Salinity" ; sigma_t:missing_value = -99999 ; sigma_t:_Fillvalue = -99999 ;

7. Global Attributes

In this section the required and recommended global attributes are described. An example entry is provided for each description. These attributes provide information about where the data came from and what has been done to them. Whenever an attribute is present as both a global and variable attribute, the variable attribute takes precedence. The CDL notation for defining a global attribute is

CeNCOOS water monitoring User Manual 21 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

:attribute_name = “list_of_values”;

1.17. Required Global Attributes The following required global attributes must be present in each netCDF file. If an attribute does not have a value, still include it in the file but with some “not applicable” statement.

7.1. :Conventions Name of the conventions used for the file. Note the capitalization of the attribute name. We use CF-1.3.

 Example: Use the following example as-is in your netCDF file :Conventions = "CF-1.3" ;

7.2. :title Text. A succinct description for what is in the file. It should be human readable. The following information should be included in the title: “in situ”, “water monitoring data”, location, and a reference to CeNCOOS.

 Example: :title = "CeNCOOS in situ water monitoring data from Central San Francisco Bay";

7.3. :summary The summary attribute is text that provides a longer description of the dataset. Its use is highly recommended. In many discovery systems, the title and the summary will be displayed in the results list from a search. It should therefore capture the essence of the dataset it describes: include the type of data, how the data was created (e.g., instrumentation), the creator of the dataset, the project for which the data was created, and the general geospatial coverage and temporal coverage.

 Example: :summary = "Water monitoring data collected in situ in San Francisco Bay at a single location near the Tiburon peninsula. The time series runs from April 2004 to the present. The data include depth, temperature, salinity, and conductivity measurements from a CTD. Additional sensors collected transmissometry, chlorophyll fluorescence, turbidity, and subsurface solar irradiance data. The data were collected by Romberg Tiburon Center for Environmental Studies, San Francisco State University for the CICORE and CeNCOOS water monitoring projects”

CeNCOOS water monitoring User Manual 22 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 7.4. :time_coverage_start Date and time stamp of first sample of data. Use this format: “yyyy-mm-dd hh:mm:ss UTC”

 Example: :time_coverage_start = “2004-10-16 13:52:20 UTC”

7.5. :time_coverage_end Date and time stamp of last sample of data. Use this format: “yyyy-mm-dd hh:mm:ss UTC”

 Example: :time_coverage_end = “2004-10-18 13:28:19 UTC” ;

7.6. :creation_date Date and time stamp for creation date of the file. Use this format: “yyyy-mm-dd hh:mm:ss UTC”

 Example: :creation_date = ”2004-10-18 13:49:22 UTC”

7.7. :license Describes how the data can be used. Include a disclaimer for liability.

 Example: You may use this example as-is, modify it, or make your own: :license="The data may be used and redistributed for free but is not intended for legal use, since it may contain inaccuracies. For use for publication or presentations please reference the Central and Northern California Ocean Observing system (CeNCOOS) and NOAA. Neither the data provider, CeNCOOS, NOAA, nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information.”

7.8. :id

The "id" and "naming_authority" attributes are intended to provide a globally unique identification for each dataset. CeNCOOS Bays will not use the ID at this time, but it will be important for data management later when there is a central database for CeNCOOS Bays water monitoring. The "id" value should attempt to uniquely identify the dataset. The naming authority allows a further refinement of the "id". The combination of the two should be globally unique for all time. CeNCOOS Bays will build the id starting with a location code:

CeNCOOS water monitoring User Manual 23 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 Format: CEN_XXX_YYY  CEN : CeNCOOS prefix  XXX : Station code // note: length of this code does not matter o Tiburon="TIB", o MLML="MLS", o Fort Point="FTP", o Humboldt Bay, central="HBC", o Trinidad Bay, Trinidad Point ="TDP", o Dumbarton="DMB", o San Leandro="NLE", o Bodega Marine Reserve="BMR". o UCSC = “SCZ”  YYY : data type (WTS for water time series or MTS for meteorological time series) o WTS for water column time series data or o MTS meteorological time series data. o If there is more than one type of instrument at a location and the data are in a different file, use a number to distinguish between them. For example, if there were two water monitoring instruments at the Tiburon location, then the IDs would be: Example WTS1 WTS2

 The complete ID for the Tiburon water monitoring would be CEN_TIB_WTS. o Example: :id = “CEN_TIB_WTS” ;

7.9. naming_authority Using reverse-url of CeNCOOS for the naming authority (org.cencoos) to ensure uniqueness.

 Example: Use the following example as-is in your netCDF file. :naming_authority="org.cencoos.www" ;

CeNCOOS water monitoring User Manual 24 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 1.18. Recommended Global Attributes – Informational

7.10. :source Text. Succinct characterization of the method of production of the original data. CeNCOOS Bays data is observational, so source should characterize it

 Example: Use the following example as-is in your netCDF file if your instrument is fixed as in “to a pier”. :source=“moored platform observation - fixed altitude”

 Example: the following example as-is in your netCDF file is a surface- following moored type. :source=“moored platform observation - surface-following”

7.11. :keywords_vocabulary The "keywords_vocabulary" attribute identifies the controlled list of keywords from which the values in the "keywords" attribute are taken. If you are following a guideline for the words/phrases in your "keywords" attribute, put the name of that guideline here. The use of this attribute is recommended and its value will be used by THREDDS to identify the vocabulary from which the keywords come.

Use NASA/Global Change Master Directory (GCMD) Earth Science Keywords. Version 5.3.3. A list for our parameters and examples of how to use this attribute are provided the appendix.

 Example: Use the following example as-is in your netCDF file. :keywords_vocabulary=”GCMD Earth Science Keywords. Version 5.3.3”;

7.12. :keywords A comma separated list of key words and phrases that are relevant to the dataset. The use of keywords is highly recommended as it aids in data discovery. Use keywords from the GCMD Earth Science Keywords. Version 5.3.3. Separate keywords by commas. The ‘keywords’ in the GCMD are not single words. Instead they are a hierarchical string of words separated by ‘>’. A list of keywords for our parameters is provided in the appendix.

 Example. :keywords=” EARTH SCIENCE > Oceans > Salinity/Density > Conductivity, EARTH SCIENCE > Oceans > Salinity/Density > Density”;

7.13. :institution The name of the institution responsible for creating the file.

CeNCOOS water monitoring User Manual 25 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

 Example :institution = "San Francisco State University (SFSU), Romberg Tiburon Center(RTC)";

7.14. :institution_url The URL of the institution that created the file.

 Example: :institution_url = “http://rtc.sfsu.edu/”;

7.15. :contact Contact information for the file. It is recommended to use an email address that will remain valid over the long-term, despite personnel turnover.

 Example: :contact ="[email protected]”;

1.19. Recommended Global Attributes – Geospatial

7.16. :geospatial_lat_max For a file with a single station, the max and min latitudes will be the same. Although it seems repetitive, this seems to be the way it is done with other examples of netCDF files.

 Example :geospatial_lat_max = 35.788 ;

7.17. :geospatial_lat_min For a file with a single station, the max and min latitudes will be the same. Although it seems repetitive, this seems to be the way it is done with other examples of netCDF files.

 Example :geospatial_lat_min = 35.788 ;

7.18. :geospatial_lat_units Units are decimal degree_north, where north is positive and south is negative. Values between -90° and 90°.

CeNCOOS water monitoring User Manual 26 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

 Example: Use the following example as-is in your netCDF file. :geospatial_lat_units = "degree_north" ;

7.19. :geospatial_lon_max For a station, the eastern and western most longitudes will be the same. Although it seems repetitive, this seems to be the way it is done with other examples of netCDF files.

 Example: :geospatial_lon_max = -122.4464 ;

7.20. :geospatial_lon_min For a station, the southern and northern most longitudes will be the same. Although it seems repetitive, this seems to be the way it is done with other examples of netCDF files.

 Example: :geospatial_lon_min = -122.4464 ;

7.21. :geospatial_lon_units Units are decimal degree_east, where positive is east and negative is west. Values between -180° and 180°.

 Example: Use the following example as-is in your netCDF file. :geospatial_lon_units ="degree_east" ;

7.22. :geospatial_vertical_max Highest Altitude (e.g. shallowest depth) for measurements. For stations with all sensors at a single depth the :geospatial_vertical_max and geospatial_vertical_min will be the same value.

 Example: :geospatial_vertical_max = -1.0 ;

7.23. :geospatial_vertical_min Lowest Altitude (e.g. deepest depth) for measurements. For stations with all sensors at a single depth the :geospatial_vertical_max and geospatial_vertical_min will be the same value.

 Example: :geospatial_vertical_min = -2.0 ;

7.24. :geospatial_vertical_positive Indicates if the positive values for the z axis coordinate axis go “up”, like height or “down” like depth

CeNCOOS water monitoring User Manual 27 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

 Example: Use the following example as-is in your netCDF file. :geospatial_vertical_positive = “up” ;

7.25. :geospatial_vertical_units Units are meters.

 Example: Use the following example as-is in your netCDF file. :geospatial_vertical_units = “m” ;

7.26. :geospatial_vertical_reference Mean Sea Level.

 Example: Use the following example as-is in your netCDF file. :geospatial_vertical_reference = "mean_sea_level" ;

1.20. Optional Global Attributes

7.27. :comment The "comment" attribute allows for miscellaneous information about the dataset. It may be used as a global and a variable attribute.

 Example: :comment = “value” ;

7.28. :cdm_data_type The "cdm_data_type" attribute gives the THREDDS data type appropriate for this dataset. The best type for CeNCOOS Bays data is “Station”, although each file will probably contain only one station.

 Example: Use the following example as-is in your netCDF file. :cdm_data_type= ”Station” ;

7.29. :acknowledgment A place to acknowledge various type of support for the project that produced this data.

 Example: :acknowledgment = “Support was provided by…” ;

7.30. :references Article, book, or website reference used to describe the dataset and/or collection program.

 Example: :references = “http://comps.marine.usf.edu/” ;

CeNCOOS water monitoring User Manual 28 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 7.31. :institution_dods_url The OPENDAP data access URL where the file is stored.

 Example :institution_dods_url = “http://comps.marine.usf.edu/DODS/” ;

8. CeNCOOS meta-data format The CeNCOOS water monitoring meta-data format is beyond the scope of this document.

9. Dictionary/Vocabulary

1.21. Convention for parameter names, standard names and units

 Parameter names are standardized among CeNCOOS Bays groups.  The netCDF “standard_name” attribute contains the standardized parameter name, based in part on CF conventions.  The netCDF “units” attributes are compliant with CF/Udunits.

1.22. CeNCOOS parameter dictionary

Altitude  Data Type: float  Variable Name: altitude  Long Name: Height above mean sea level  Standard Name: altitude  Units: m  Definition: Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level. Ammonium, NH4  Data Type: float  Variable Name: NH4  Long Name: Ammonium concentration  Standard Name: mole_concentration_of_ammonium_in_sea_water  Units: micromol L-1  Definition: Amount of ammonium in moles per unit volume of water. Carbon dioxide partial pressure in water (pCO2)  Data Type: float  Variable Name: pCO2  Long Name: Partial pressure of carbon dioxide in seawater

CeNCOOS water monitoring User Manual 29 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

 Standard Name: surface_partial_pressure_of_carbon_dioxide_in_sea_water  Units: Pa  Definition: The partial pressure of carbon dioxide in sea water measured near the surface Chlorophyll Concentration  Data Type: float  Variable Name: chl_conc  Long Name: In vivo fluorometric chlorophyll concentration  Standard Name: concentration_of_chlorophyll_in_sea_water  Units: microg L-1  Definition: The concentration of chlorophyll in sea water measure by in vivo fluorescence. Chlorophyll Fluorometer Raw Voltages or Relative Units  Data Type: float  Variable Name: chl_uncal  Long Name: Chlorophyll fluorometry in uncalibrated units  Standard Name: chl_fluorometer_uncalibrated // not in CF convention  Units: volts // use 1 (one) for the rfu output of YSI uncalibrated units  Definition: The uncalibrated output of the chlorophyll fluorometer, usually in volts or relative fluorescence units (rfu). Conductivity  Data Type: float  Variable Name: cond  Long Name: Conductivity  Standard Name: conductivity // not in CF convention  Units: S  Definition: Ability of a material to pass an electrical current. Inverse of resistance. Density  Data Type: float  Variable Name: density  Long Name: Density  Standard Name: sea_water_density  Units: kg m-3  Density used to be based on the Knudson-Ekman equation of state (1903) and the Cox equation. Its symbol was  (sigma). Now, density is computed using the new equation of state (1980), a very different equation from Knudson-Ekman. The solution is in units of Kg m-3. This new computation for density is given the symbol  (gamma). Depth

CeNCOOS water monitoring User Manual 30 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

 Data Type: float  Variable Name: depth  Long Name: Depth below the surface  Standard Name: depth  Units: m  Definition: The vertical distance below the water’s surface. Height relative to mean lower low water  Data Type: float  Variable Name: ht_mllw  Long Name: Height above mean lower low water  Standard Name: height_above_mean_lower_low_water  Units: m  Definition: Height measured relative to the local mean lower low water datum. Height relative to WGS 84  Data Type: float  Variable Name: ht_wgs84  Long Name: Height above WGS 84  Standard Name: height_above_reference_ellipsoid  Units: m  Definition: Height measured relative to the WGS 84 datum. Longitude  Data Type: float  Variable Name: lon  Long Name: Longitude in decimal degree east  Standard Name: longitude  Units: degree_east  Definition: Longitude has units of degree_east with a range of -180 to 180, in which west longitude is negative and east longitude is positive. Latitude  Data Type: float  Variable Name: lat  Long Name: Latitude in decimal degree north  Standard Name: latitude  Units: degree_north  Definition: Latitude has units of degree_north with a range of -90 to 90, in which south latitude is negative and north latitude is positive. Oxygen Concentration  Data Type: float  Variable Name: oxygen_conc  Long Name: Dissolved oxygen concentration  Standard Name: mass_concentration_of_oxygen_in_sea_water

CeNCOOS water monitoring User Manual 31 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

 Units: microg L-1  Definition: Dissolved oxygen content in a defined volume of water measured in situ in the water column Oxygen Saturation  Data Type: float  Variable Name: oxygen_sat  Long Name: Oxygen saturation  Standard Name: fractional_saturation_of_oxygen_in_sea_water  Units: %  Definition: The ratio of an observed concentration of oxygen measured in situ to the saturated value. Although the standard name indicates that these values are fractions, we report the values as percent saturation. Photosynthetically available radiation, subsurface  Data Type: float  Variable Name: subsurf_PAR  Long Name: Subsurface photosynthetically available radiation  Standard Name: downwelling_photosynthetic_photon_flux_in_sea_water  Units: micromol m-2 s-1  Definition: Downwelling radiation is radiation from above measured in situ in the water column. "Photosynthetic" radiation is the part of the spectrum which is used in photosynthesis i.e. 300-700 nm. pH  Data Type: float  Variable Name: pH  Long Name: pH  Standard Name: pH // not in CF convention  Units: 1 // the one indicates no units  Definition: Minus the log of the hydrogen ion concentration (in mol l-1). Since pH is unitless the units are given the value of 1 (one). Phosphate, PO4  Data Type: float  Variable Name: PO4  Long Name: Phosphate concentration  Standard Name: mole_concentration_of_phosphate_in_sea_water  Units: micromol L-1  Definition: Amount of total reactive phosphate in moles per unit volume of water. Nitrate, NO3  Data Type: float  Variable Name: NO3  Long Name: Nitrate plus nitrite concentration

CeNCOOS water monitoring User Manual 32 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

 Standard Name: mole_concentration_of_nitrate_and_nitrite_in_sea_water  Units: micromol L-1  Definition: Amount of nitrate in moles per unit volume of water. Nitrate plus nitrite, NO3_NO2  Data Type: float  Variable Name: NO3_NO2  Long Name: Nitrate plus nitrate concentration  Standard Name: mole_concentration_of_NO3_and_NO2_in_sea_water // not in CF convention  Units: micromol L-1  Definition: Amount of nitrate plus nitrite in moles per unit volume of water. Salinity  Data Type: float  Variable Name: sal  Long Name: Salinity  Standard Name: salinity  Units: 0.001  Definition: Salinity is defined, using the Practical Salinity Scale of 1978, as the conductivity ratio of a sea water sample to a standard KCl solution. Since it is a ratio, it has no units. It is, therefore, inappropriate to use units of PSU or PPT with salinity. The CF-1.3 convention recognizes that PSS78 is dimensionless yet recommends a unit of 0.001 to reflect parts per thousand. Sigma_t  Data Type: float  Variable Name: sigma_t  Long Name: Sigma-t (gamma-t)  Standard Name: sea_water_sigma_t  Units: kg m-3  Definition: This parameter is mislabeled in the CF vocabulary of

standard names. Sigma-t (t) is the specific gravity anomaly

defined as the following: t = [density/maximum water density -1] x 1000. Notice that the sigma is unitless, because it is a ratio. -3 However the t defined in the CF vocabulary has units of kg m .

t is not the preferred parameter to use when describing

properties of density. The preferred term is gamma-t (t), the density anomaly, which is based on the new formulation of density

(see Density in section 6.6.2). t is computed by the following

equation: t = density ()- 1000. The solution is in units of Kg m-3. We are working with the CF forum to change the standard name from sigma_t to gamma_t. Silicate  Data Type: float  Variable Name: silicate

CeNCOOS water monitoring User Manual 33 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

 Long Name: Silicate concentration  Standard Name: mole_concentration_of_silicate_in_sea_water  Units: micromol L-1  Definition: Amount of soluble silicate (silicic acid) in moles per unit volume of water. Specific Conductivity  Data Type: float  Variable Name: sp_cond  Long Name: Specific Conductivity  Standard Name: sea_water_electrical_conductivity  Units: S m-1  Definition: Ability of a specific volume of sea water to pass an electrical current. Beam Attenuation  Data Type: float  Variable Name: beamc  Long Name: Beam attenuation  Standard Name: volume_beam_attenuation_coefficient_of_radiative_flux_in_sea_water  Units: m-1  Definition: Beam attenuation refers to the decrease of radiative flux along the direction of the incident path. Time  Data Type: int  Variable Name: Time  Standard Name: time  Units: sec since 1970-01-01 00:00:00 UTC  Definition: The times that measurements were taken recorded as seconds elapsed from a standard reference time (Jan. 1, 1970 at midnight UTC). Events before the reference time are negative. Time, ISO 8601 Format  Data Type: char  Variable Name: iso_time  Long Name: Time in ISO 8601 Format  Standard Name: iso_time // not in CF convention  Units: YYYY-MM-DD hh:mm:ss UTC  Definition: The times that measurements were taken recorded as a character string in the ISO 8601 format Turbidity  Data Type: float  Variable Name: turb  Long Name: Turbidity  Standard Name: Turbidity // not in CF convention  Units: NTU

CeNCOOS water monitoring User Manual 34 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

 Definition: A measure of light scattering due to suspended material in the water. Turbidity Sensor Raw Voltages  Data Type: float  Variable Name: turb_uncal  Long Name: Turbidity in uncalibrated units  Standard Name: turbidity_uncalibrated // not in CF convention  Units: volts  Definition: The voltage output of the turbidity sensor. Water Pressure  Data Type: float  Variable Name: water_press  Long Name: Water pressure  Standard Name: water_pressure  Units: dbar  Definition: The amount of pressure exerted by overlying water column. Water Temperature Use the long name to indicate the temperature scale used. Most use the International Temperature Scale of 1990 (IPTS-90).  Data Type: float  Variable Name: wtemp  Long Name: Water Temperature, IPTS-90  Standard Name: water_temperature  Units: degree_Celsius  Definition: The temperature of the water determined using the International Temperature Scale of 1990 (IPTS-90).

10. File naming convention The CeNCOOS water monitoring files comply with the following naming conventions:

1.23. Data file naming convention To create the data file name, follow the same naming procedure as described for creating the ID for the dataset (see ID in section 7.1.8 and reviewed below). In addition, add the date of first data record in file to the end of the ID. Format: CEN_XXX_YYY_ ZZZZZZZZ.nc  CEN : CeNCOOS prefix  XXX : Station code // note: length of this code does not matter o Tiburon="TIB", o MLML="MLS",

CeNCOOS water monitoring User Manual 35 CeNCOOS_WTS_CDL V 1.1 January 26, 2009

o Fort Point="FTP", o Humboldt Bay, central="HBC", o Trinidad Bay, Trinidad Point="TDP", o Dumbarton="DMB", o San Leandro="NLE", o Bodega Marine Reserve="BMR". o UCSC : “SCZ”  YYY : data type // note: length of this code does not matter o WTS for water column time series data or o MTS meteorological time series data. o If there is more than one type of instrument at a location and the data are in a different file, use a number to distinguish between them. For example, if there where two water monitoring instruments at the Tiburon location, then the IDs would be: Example WTS1 WTS2  ZZZZZZZZ : the form that these file name section will take has not been determined.  Example file name for Tiburon: CEN_ TIB_WTS2_ZZZZZZ.nc  When the file is a real-time file, the change the date to “latest”. o Example: CEN_TIB_WTS2_latest.nc

1.24. Real-Time, Near Real-Time, and Archival Files The nature of real-time monitoring necessitates that data is distributed at several levels of post-collection processing. Minimally, these processing levels include real-time, near- real-time, and archived. CeNCOOS Bays has addressed only the real-time file types in this edition.  Real-time files. These are ‘rolling’ files: they contain the last 48 hours of data.

CeNCOOS water monitoring User Manual 36 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 11. Appendices

1.25. GCMD Science Keywords Pick the keyword strings that fit the parameters that you are including in the netCDF file. Separate the parameters with commas. For example, if you were collecting salinity and temperature data, you would put the following in the keyword global attribute: : keyword=“EARTH SCIENCE > Oceans > Ocean Temperature > Water Temperature, EARTH SCIENCE > Oceans > Salinity/Density > Salinity”; Keyword List EARTH SCIENCE > Oceans > Ocean Chemistry > Ammonia EARTH SCIENCE > Oceans > Ocean Chemistry > Carbon Dioxide EARTH SCIENCE > Oceans > Ocean Chemistry > Chlorophyll EARTH SCIENCE > Oceans > Ocean Chemistry > Hydrocarbons EARTH SCIENCE > Oceans > Ocean Chemistry > Nitrate EARTH SCIENCE > Oceans > Ocean Chemistry > Nutrients EARTH SCIENCE > Oceans > Ocean Chemistry > Oxygen EARTH SCIENCE > Oceans > Ocean Chemistry > pH EARTH SCIENCE > Oceans > Ocean Chemistry > Phosphate EARTH SCIENCE > Oceans > Ocean Chemistry > Pigments EARTH SCIENCE > Oceans > Ocean Chemistry > Silicate EARTH SCIENCE > Oceans > Ocean Optics > Fluorescence EARTH SCIENCE > Oceans > Ocean Optics > Irradiance EARTH SCIENCE > Oceans > Ocean Optics > Photosynthetically Active Radiation EARTH SCIENCE > Oceans > Ocean Optics > Turbidity EARTH SCIENCE > Oceans > Ocean Pressure > Water Pressure EARTH SCIENCE > Oceans > Ocean Temperature > Sea Surface Temperature EARTH SCIENCE > Oceans > Ocean Temperature > Water Temperature EARTH SCIENCE > Oceans > Ocean Winds > Surface Winds EARTH SCIENCE > Oceans > Salinity/Density > Conductivity EARTH SCIENCE > Oceans > Salinity/Density > Density EARTH SCIENCE > Oceans > Salinity/Density > Salinity EARTH SCIENCE > Atmosphere > Air Quality > Visibility EARTH SCIENCE > Atmosphere > Atmospheric Pressure > Atmospheric Pressure Measurements EARTH SCIENCE > Atmosphere > Atmospheric Radiation > Solar Irradiance EARTH SCIENCE > Atmosphere > Atmospheric Temperature > Air Temperature

CeNCOOS water monitoring User Manual 37 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 EARTH SCIENCE > Atmosphere > Atmospheric Temperature > Dew Point Temperature EARTH SCIENCE > Atmosphere > Atmospheric Temperature > Maximum/Minimum Temperature EARTH SCIENCE > Atmosphere > Atmospheric Temperature > Surface Air Temperature EARTH SCIENCE > Atmosphere > Atmospheric Water Vapor > Humidity EARTH SCIENCE > Atmosphere > Atmospheric Winds > Surface Winds EARTH SCIENCE > Atmosphere > Precipitation > Rain

1.26. Interconversion Among Vertical Datums The minimum requirement for compliance with the CeNCOOS WTS CDL is that the vertical coordinate is reported as height above local mean sea level (MSL) in the variable ‘altitude’. Optimally, the vertical coordinate also will be reported as height above MLLW in the ht_mllw variable and as height above the WGS 84 ellipsoid in the ht_wgs84 variable. Most groups will record their vertical coordinate data relative to a single datum and, therefore, will need to transform those data from one vertical datum into another.

Several tools are available to help convert among the different vertical datums:  VDATUM is a utility for the transformation of vertical coordinate data from one vertical datum into another. VDatum has been developed as part of the joint NOAA/USGS Bathymetric-Topographic Demonstration Project. Information about VDATUM can be found at http://spatialnews.geocomm.com/features/vdatum/index.html. The software can be downloaded at http://www.ngs.noaa.gov/PC_PROD/pc_prod.shtml  An online tool for datum conversion information is at http://www.ngs.noaa.gov/cgi- bin/GEOID_STUFF/geoid03_prompt1.prl. By putting in the latitude and longitude you are given the vertical separation between Height (WGS84) and Height (MSL). Using the following expression one can convert between (WGS84) and Height (MSL):

Height (WGS84) = Height (MSL) + Geoidal Separation

 Another resource is at the NOAA tides and currents website (http://tidesandcurrents.noaa.gov/station_retrieve.shtml?type=Datums): o Navigate to the station near your location o A list of tidal datums will appear. Subtract one datum from another to get the offsets between them.

1.27. Note on Multiple Sensor Depths There is a special provision to accommodate data from sensors mounted at different heights for one platform. For example, a fixed-position station may a have temperature sensor mounted at 4 m below mean sea level and a PAR (photosynthetically available radiation) sensor mounted at only 2 m below mean sea level. For these cases, data for the

CeNCOOS water monitoring User Manual 38 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 vertical coordinate variable (altitude) and the two ancillary vertical data variables (ht_wgs94 and ht_mllw) contain both instrument heights. Likewise, each data variable that is associated with altitude will contain a value for each height: one value will be real data that was recorded by the sensor at that height and the other values will be the missing data value (e.g. -99999). In addition, you also can (optionally) create an attribute called “altitude” for each data variable and insert as it value the altitude value associated with each data variable. dimensions: altitude: 2; // the dimension changes from 1 to a number equal to the number of different vertical sensor locations (2 in this example) variables: float wtemp(time, altitude, lat, lon) ; wtemp:long_name: "Water Temperature, IPTS-90" ; wtemp:standard_name: "water_temperature" ; wtemp:Units: "degree_Celsius" ; wtemp:data_min: value ; wtemp:data_max: value ; wtemp:ioos_category: "Temperature"; wtemp:missing_value: -99999. ; wtemp:_Fillvalue: -99999. ; wtemp:_Fillvalue: -99999. ; wtemp:altitude: -4 ; // altitude is added as an attribute to each data variable with the value equal to the vertical sensor location (-4 for water temperature)

float subsurf_PAR(time, altitude, lat, lon) ; subsurf_PAR:long_name: "subsurface photosynthetically available radiation" ; subsurface_PAR:standard_name: "downwelling_photosynthetic_photon_flux_in_sea_water" ; subsurf_PAR:Units: "mol m-2 s-1" ; subsurf_PAR:ioos_category: "Ocean Color"; subsurf_PAR:missing_value: -99999. ; subsurf_PAR:_Fillvalue: -99999. ; subsurf_PAR:data_min: value ; subsurf_PAR:data_max: value ; subsurf_PAR:altitude: -2 ; // altitude is added as an attribute to each data variable with the value equal to the vertical sensor location (-2 for PAR) data: altitude = -4 , -2; // all altitude values that are in the data

subsurf_PAR = 400, -99999, // missing value in the -2m locations 420, -99999;

wtemp = -99999, 17.2, // missing value in the -4m locations -99999, 17.4;

12. References OceanSITES User’s Manual Version 1.0, OceanSITES data management team, May 2006.

CeNCOOS water monitoring User Manual 39 CeNCOOS_WTS_CDL V 1.1 January 26, 2009 Southeast Atlantic Coastal Ocean Observing System NetCDF Standard: SEACOOS CDL v2.0, Cook et al., Dec. 2004. UNESCO (1985) The international system of units (SI) in oceanography, UNESCO Technical Papers No. 45, IAPSO Pub. Sci. No. 32, Paris France.

CeNCOOS water monitoring User Manual 40

Recommended publications