Metadata Profile Schema - Unidata/rosetta GitHub Wiki

Metadata Profile Item Specification

A metadata profile describes the kinds of metadata used by a given community. Each metadata profile contains a series of metadata items. While metadata attributes are most generally in the form of key:value pairs (e.g. title=Lake Thunderbird Micronet Turbulence Characteristics), a metadataItem describe the properties of each key. For example, the metadata attribute title is "recommended" to be used for those following the CF standard, it should have a data type of string, and it is described as "A succinct description of what is in the dataset."

In Rosetta, the interpretation of these profiles is limited to file level metadata, and are stored in the translated netCDF file output by Rosetta as either global metadata in netCDF-3, or root level metadata or group level metadata (metadata only groups) in netCDF-4. In the case of netCDF-4 output from Rosetta, metadata are stored in the root level by default (metadataGroup=root). If the metadata profile specifies a metadataGroup attribute for a metadata item, that metadata item will be stored in a metadata-only group with the name given by the value of the metadataGroup attribute.

Metadata Item Attribute Required by front-end Default value Description
metadataProfileName Required n/a Human friendly name of the metadata profile
metadataProfileVersion Required n/a Version of the metadata profile being documented
attributeName Required n/a Name of the metadata attribute
displayName Optional attributeName value * Human friendly name use in the front end
description Optional empty string Used for wizard display help tool tips
exampleValues Optional empty string Used for wizard display example tool tips
metadataGroup Optional root translates into the (metadata) Group name within the produced netCDF-4 file
metadataType Optional Global Type of metadata. **
metadataTypeStructureName Optional Global Attribute Structure with which the metadata attribute is associated ***
metadataValueType Optional STRING Data type of the metadata attribute value. ****
complianceLevel Optional additional Compliance level of the metadata item (required, recommended, additional)

In all cases, the value associated with each metadata item attribute in the table above is interpreted to be of type string.

The name of each Metadata Item Attribute must be camelCase (as shown).

Metadata profiles to be supported in Rosetta

  • ACDD
  • CF
  • NCEI
  • eTUFF

* if the default value is used (attributeName), underscores will be replaced with white-space when displayed in the front-end wizard interface.

** if defined, metadataType must be one of the following (default: Global):

  • Global
  • CoordinateVariable
  • DataVariable
  • MaskVariable
  • CountVariable
  • IndexVariable
  • MetadataGroup

Note that the Rosetta wizard only uses Global, MetadataGroup, CoordinateVariable and DataVariable at this time. MetadataGroup is treated as Global by the wizard. Differentiation between CoordinateVariable and DataVaraible is done in the variable level metadata collection interface of the wizard (Is this a coordinate variable? question), and will be one or the other.

*** metadataTypeStructureName examples (default: Global Attribute):

  • Global Attributes
  • lat
  • lon
  • depth
  • time
  • CRS
  • bounds
  • data
  • mask
  • count
  • index
  • <metadataGroupName> Subgroup

Note that the Rosetta wizard only uses lat, lon, depth, and time at this time, and only for distinguishing between the different types of metadataType = CoordinateVariable.

**** if defined, metadataValueType must be one of the following (default: STRING):

  • BOOLEAN
  • BYTE
  • CHAR
  • DOUBLE
  • FLOAT
  • INT
  • LONG
  • SHORT
  • STRING
  • UBYTE
  • UINT
  • ULONG
  • USHORT
  • SAME

These values are used by Rosetta during the conversion process, and are treated as case-insensitive. Note that SAME, or any string value starting with the word SAME, indicates that metadataValueType will have the same data type as the variable for which it is associated with. SAME cannot be used with metadataType=Global.