Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
saeon_netcdf_guidance [2022/07/11 12:58] – created lindsay | saeon_netcdf_guidance [2022/07/28 12:23] (current) – lindsay | ||
---|---|---|---|
Line 2: | Line 2: | ||
The SAEON Open Data Platform allows for the storage, discoverability and download of multidimensional scientific data. Network Common Data Format (netCDF) is a file format designed for storing multidimensional data in the form of arrays, and is widely used in the atmospheric and oceanographic communities. The netCDF library has been developed by the [[https:// | The SAEON Open Data Platform allows for the storage, discoverability and download of multidimensional scientific data. Network Common Data Format (netCDF) is a file format designed for storing multidimensional data in the form of arrays, and is widely used in the atmospheric and oceanographic communities. The netCDF library has been developed by the [[https:// | ||
+ | |||
+ | ==== NetCDF File Structure ==== | ||
+ | |||
+ | There are certain types of discrete sampling in atmospheric/ | ||
+ | |||
+ | === Global Attributes === | ||
+ | |||
+ | This section contains metadata that pertains to the overall netCDF file. The following table contains global attributes derived from CF and ACDD conventions required by the SAEON ODP for multidimensional data in netCDF format. For additional resources you can refer directly to the official documentations of each convention. | ||
+ | |||
+ | Note: Time information in the global attributes should be formatted as a string in ISO 8601 standard format, | ||
+ | |||
+ | __Table 1. List of core global attributes for SAEON netCDF files__ | ||
+ | |||
+ | //All attributes are MANDATORY to include in your netCDF unless stated: CONDITIONAL= include these fields if the information exists, or RECOMMENDED = it is recommended to include these fields but not mandatory.// | ||
+ | |||
+ | | **Attribute** | ||
+ | | title | “CTD data from the ASCA transect station 5” | A succinct description of what is in the dataset. | ||
+ | | %%institution%% | ||
+ | | source | ||
+ | | history | ||
+ | | references | ||
+ | | comment | ||
+ | | Conventions | ||
+ | | summary | ||
+ | | keywords | ||
+ | | license | ||
+ | | license_url | ||
+ | | date_created | ||
+ | | creator_name | ||
+ | | creator_email | ||
+ | | project (CONDITIONAL) | ||
+ | | publisher_name (CONDITIONAL) | ||
+ | | publisher_email (CONDITIONAL) | ||
+ | | geospatial_lat_min | ||
+ | | geospatial_lat_max | ||
+ | | geospatial_lat_units | ||
+ | | geospatial_lon_min | ||
+ | | %%geospatial_lon_max%% | ||
+ | | geospatial_lon_units | ||
+ | | geospatial_vertical_min | ||
+ | | geospatial_vertical_max | ||
+ | | geospatial_vertical_units | “metres” | Units used for geospatial_vertical_min/ | ||
+ | | geospatial_vertical_positive | “down” | The direction of increasing vertical coordinate values corresponding to a reference point. Either “up” or “down”. | | ||
+ | | time_coverage_start | “2018-07-05T08: | ||
+ | | time_coverage_end | “2018-07-05T11: | ||
+ | | date_modified (CONDITIONAL) | “2018-08-12T10: | ||
+ | | date_metadata_modified (CONDITIONAL) | “2018-08-12T10: | ||
+ | | %%instrument%% | ||
+ | | lineage (RECOMMENDED) | ||
+ | |||
+ | === Dimensions === | ||
+ | |||
+ | NetCDF dimensions define the shape, grid or coordinate system of a variable. A dimension has both a name and a length. A dimension length is an arbitrary positive integer, except for cases where one dimension, at most, is UNLIMITED and can grow along that dimension. Once the data feature type has been identified, the US National Oceanographic Data Center [[https:// | ||
+ | |||
+ | Dimensions can be used to represent physical dimensions, for example, “time” (T), “latitude” (Y), “longitude” (X), or “depth” (Z). A dimension can also be used to index other quantities, for example, station number or model number. It is recommended that dimensions appear in the relative order T, then Z, then Y, then X, where applicable. | ||
+ | |||
+ | Something to keep in mind in terms of naming dimensions and variables is the netCDF coordinate variable. This is when a variable has the exact same name as a dimension and is most commonly used for coordinates such as lat, lon, depth and/or time. This may not necessarily have special meaning to the netCDF library, however visualisation software treats this in a special way. | ||
+ | |||
+ | === Variables === | ||
+ | |||
+ | Variables in a netCDF contain the parameters measured by an instrument. Variables in netCDF files can be one of six types (char, byte, short, int, float or double). Each variable has a data type, name and a shape which is defined by its specified dimensions. | ||
+ | |||
+ | Our guidance does not standardise variable names, for example, a suitable variable name for temperature data could be anything from: Temperature, | ||
+ | |||
+ | Each variable has a corresponding set of attributes which provide information about the data for the end user. The following tables contain variable attributes derived from CF and ACDD conventions required by SAEON ODP for multidimensional data in netCDF format. | ||
+ | |||
+ | Note: The // | ||
+ | |||
+ | === Variable Attributes === | ||
+ | |||
+ | == Time coordinates == | ||
+ | |||
+ | Time data in a netCDF is represented as an integer representing an interval from some reference time. Time variables must include a clear units attribute, as there is no default value. The units attribute for a time variable is a string value in the format recommended by UDUNITS. Commonly these strings include “// | ||
+ | |||
+ | __Table 2. List of time variable attributes for SAEON netCDF files__ | ||
+ | |||
+ | //All attributes are MANDATORY to include in your netCDF unless stated: CONDITIONAL= include these fields if the information exists, or RECOMMENDED = it is recommended to include these fields but not mandatory.// | ||
+ | |||
+ | | **Attribute** | **Example** | **Description** | | ||
+ | | standard_name | “time” | A description of the variable’s content from the CF standard name table. | | ||
+ | | long_name | “time” | A descriptive name that indicates a variable’s content. | | ||
+ | | units | “seconds since 1970-01-01 00:00:00 UTC” | Use approved CF convention with approved UDUNITS obtained from CF standard name table. Please contact SAEON curation if help is required. | | ||
+ | | calendar (CONDITIONAL) | “gregorian” | Calendar used for encoding time axes. See CF documentation for clarification. Default is " | ||
+ | | valid_min (RECOMMENDED) | “1530779700” | Smallest valid value of a variable. Should be of the same type as the variable type. | | ||
+ | | valid_max (RECOMMENDED) | “1530791710” | Largest valid value of a variable. Should be of the same type as the variable type. | | ||
+ | | axis | “T” | Identifies the time coordinate. Set value of “T”. | | ||
+ | | comment (RECOMMENDED) | “....” | Miscellaneous information about the data, that cannot be described in any of the other available attributes. | | ||
+ | |||
+ | == Horizontal coordinates == | ||
+ | |||
+ | SAEON ODP uses the WGS84 coordinate reference system in decimal degrees when describing latitude and longitude. | ||
+ | |||
+ | __Table 3. List of longitude and latitude variable attributes for SAEON netCDF files__ | ||
+ | |||
+ | //All attributes are MANDATORY to include in your netCDF unless stated: CONDITIONAL= include these fields if the information exists, or RECOMMENDED = it is recommended to include these fields but not mandatory.// | ||
+ | |||
+ | | **Attribute** | **Example** | **Description** | | ||
+ | | standard_name | “latitude”or“longitude” | A description of the variable’s content from the CF standard name table. | | ||
+ | | long_name | “latitude”or“longitude” | A descriptive name that indicates a variable’s content. | | ||
+ | | units | “degrees_north” (LATITUDE)or “degrees_east” (LONGITUDE) | Use approved CF convention with approved UDUNITS obtained from CF standard name table. | | ||
+ | | valid_min (RECOMMENDED) | “-34.678” (LATITUDE)or“26.012” (LONGITUDE) | Smallest valid value of a variable. Should be of the same type as the variable type. | | ||
+ | | valid_max (RECOMMENDED) | “-34.678” (LATITUDE)or“26.012” (LONGITUDE) | Largest valid value of a variable. Should be of the same type as the variable type. | | ||
+ | | axis | “Y” (LATITUDE)or “X” (LONGITUDE) | Identifies the horizontal coordinate. Set values of “X” or “Y”. | | ||
+ | | comment (RECOMMENDED) | “....” | Miscellaneous information about the data, that cannot be described in any of the other available attributes. | | ||
+ | |||
+ | == Vertical coordinates == | ||
+ | |||
+ | Depth or height variables should be measured in SI units, most commonly “metres”. Pressure measurements should not be labelled as a depth or height variable, but as a separate parameter. | ||
+ | |||
+ | __Table 4. List of depth variable attributes for SAEON netCDF files__ | ||
+ | |||
+ | //All attributes are MANDATORY to include in your netCDF unless stated: CONDITIONAL= include these fields if the information exists, or RECOMMENDED = it is recommended to include these fields but not mandatory.// | ||
+ | |||
+ | | **Attribute** | **Example** | **Description** | | ||
+ | | standard_name | “depth” | A description of the variable’s content from the CF standard name table. | | ||
+ | | long_name | “depth” | A descriptive name that indicates a variable’s content. | | ||
+ | | units | “m” | Use approved CF convention with approved UDUNITS obtained from CF standard name table. | | ||
+ | | positive | “down” | The direction of increasing vertical coordinate values corresponding to a reference point. Either “up” or “down”. | | ||
+ | | valid_min (RECOMMENDED) | “10” | Smallest valid value of a variable. Should be of the same type as the variable type. | | ||
+ | | valid_max (RECOMMENDED) | “1256” | Largest valid value of a variable. Should be of the same type as the variable type. | | ||
+ | | axis | “Z” | Identifies the vertical coordinate. Set value of “Z”. | | ||
+ | | comment (RECOMMENDED) | “....” | Miscellaneous information about the data, that cannot be described in any of the other available attributes. | | ||
+ | |||
+ | == Geophysical parameters == | ||
+ | |||
+ | These variables contain the data collected by an instrument or sensor. | ||
+ | |||
+ | Note: For cases where a netCDF contains two sensors measuring the same variable it is important that these are easily differentiated, | ||
+ | |||
+ | __Table 5. List of geophysical parameter variable attributes for SAEON netCDF files__ | ||
+ | |||
+ | //All attributes are MANDATORY to include in your netCDF unless stated: CONDITIONAL= include these fields if the information exists, or RECOMMENDED = it is recommended to include these fields but not mandatory.// | ||
+ | |||
+ | | **Attribute** | **Example** | **Description** | | ||
+ | | standard_name (CONDITIONAL) | “sea_water_temperature” | A description of the variable’s content from the CF standard name table. | | ||
+ | | long_name | “Temperature” | A descriptive name that indicates a variable’s content. | | ||
+ | | units | “degree_C” | Use approved CF convention with approved UDUNITS obtained from CF standard name table. | | ||
+ | | scale_factor (CONDITIONAL) | “0.01” | If the data uses a scale_factor other than 1. Should be of the same type as the variable type. | | ||
+ | | add_offset (CONDITIONAL) | “25.0" | ||
+ | | _FillValue (CONDITIONAL) | “-9999” | This value is considered to be a special value that indicates undefined or missing data. Should be of the same type as the variable type. | | ||
+ | | valid_min (RECOMMENDED) | “2.565” | Smallest valid value of a variable. Should be of the same type as the variable type. | | ||
+ | | valid_max (RECOMMENDED) | “23.198” | Largest valid value of a variable. Should be of the same type as the variable type. | | ||
+ | | coordinates (RECOMMENDED) | “T Y X Z” | This attribute contains a space separated list of all the coordinates corresponding to the variable. | | ||
+ | | comment (RECOMMENDED) | “....” | Miscellaneous information about the data, that cannot be described in any of the other available attributes. | | ||
+ | |||
+ | == Quality control flags (CONDITIONAL) == | ||
+ | |||
+ | If applicable to the platform, quality control flags can be self describing variables that show some sort of assessment to identify possible errors in the data. | ||
+ | |||
+ | __Table 6. List of quality control flag variable attributes for SAEON netCDF files__ | ||
+ | |||
+ | //All attributes are MANDATORY to include in your netCDF unless stated: CONDITIONAL= include these fields if the information exists, or RECOMMENDED = it is recommended to include these fields but not mandatory.// | ||
+ | |||
+ | | **Attribute** | **Example** | **Description** | | ||
+ | | standard_name | “....” | A description of the variable’s content from the CF standard name table. | | ||
+ | | long_name | “quality flag for sea_water_temperature” | A descriptive name that indicates a variable’s content. | | ||
+ | | _FillValue (CONDITIONAL) | “-99b” | This value is considered to be a special value that indicates undefined or missing | ||
+ | | flag_values | 0b, 1b, 2b, 3b, 4b, 5b, 6b, 7b | List of flag values used in the data. | | ||
+ | | flag_meanings | " | ||
+ | | comment (RECOMMENDED) | “....” | Miscellaneous information about the data, that cannot be described in any of the other available attributes. | | ||
+ | |||
+ | === NetCDF manipulation tools === | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||