HERMES CDF Format Guide

1. Introduction

The HermesDataSchema class provides an interface to examine the HERMES CDF Format Guide.

1.1 Purpose and Scope

This document is provided as a reference for construction of HERMES standard CDF files. It is intended to complement information available from the Space Physics Data Facility (listed in Sec. 1.2). It lays down REQUIREMENTS and RECOMMENDATIONS for Level 2 (and above) CDF files that are intended for public access, and should be taken as RECOMMENDATIONs for all other mission CDFs. This document is based on discussions within the HERMES Science Data Working Group (HSDWG) and personnel at NASA’s Space Physics Data Facility (SPDF). It is intended to provide sufficient reference material to understand CDF files and the requirements for creating HERMES CDF files, and to understand the structure and contents of the resulting CDF files.

1.2 References

Relevant documents that provide background material and support details provided in this guide are listed below:

2. HERMES Science Investigations

The HERMES Instrument Suite will make high-time resolution measurements of plasmas (ions and electrons) and magnetic fields. The HERMES Instrument Suite consists of the following complement of instruments:

  • Electron Electrostatic Analyzer (EEA): The EEA provides measurements of

    low-energy electrons in the solar wind and in Earth’s deep magnetotail by measuring electron flux as functions of energy and direction.

  • Miniaturized Electron pRoton Telescope (MERIT): The MERiT instrument

    measures the flux of high-energy electrons and ions with two telescopes pointing in opposite directions and nominally spanning the forward and reverse Parker Spiral.

  • Noise Eliminating Magnetometer In a Small Integrated System (NEMISIS):

    NEMISIS is comprised of a fluxgate magnetometer (M0) at the end of a deployable boom and two inductive magnetometers (M1, M2) mounted on the HERMES platform. Each sensor measures the vector magnetic field at its location. Measurements from the 3 sensors are combined to reduce the contribution to the local field due to Gateway.

  • Solar Probe Analyzer for Ions (SPAN-I): The SPAN-i ion sensor measures

    Interplanetary and Magnetotail ion flux as functions of direction and energy/charge from several eV/q to 20 keV/q. A time-of-flight section enables it to sort particles by their mass/charge ratio, permitting differentiation of ion species.

HERMES Instrument Team Facilities (ITFs) are the principal institutions associated with each of the HERMES science investigations. These facilities and their personnel provide support to the operation of their instruments and the overall data processing and distribution effort for HERMES science data products. The institutions listed in Table 2-1 have responsibility for each of the investigations and their corresponding instruments.

Table 2-1 HERMES ITF Summary

HERMES Investigation

Managing Institution

Principal Investigator

Electron Electrostatic Analyzer (EEA)

Goddard Space Flight Center (GSFC)

  1. Gershman

Miniaturized Electron pRoton Telescope (MERIT)

Goddard Space Flight Center (GSFC)

  1. Kanekal

Noise Eliminating Magnetometer In a Small Integrated System (NEMISIS)

Goddard Space Flight Center (GSFC), University of Michigan

  1. Zesta, M. Moldwin (Co-I),

Solar Probe Analyzer for Ions (SPAN-I)

University of California, Berkeley (UCB), Space Sciences Laboratory (SSL)

  1. Livi

3. Conventions

All HERMES scientific data products that will be shared between HERMES entities (e.g. ITFs, IDS groups) or made available to the general research community will be stored as CDF data files and are expected to be compatible with CDF version 3.5. Data that will not be shared beyond an individual team may be stored in any format that is convenient for that team.

3.1 Science Product Naming Conventions

The HERMES data products will be produced with the following filename format where the individual identifying components are described in Table 3-1. Additionally, to ensure software compatibility between disparate systems, filenames will consist of all lowercase characters. Filenames are used as a system identifier for a logical grouping of data and are also stored in the Logical_file_id global attribute field (see Section 4.1). It is expected that filenames will be created dynamically from the attributes identified in Section 4 of this document.

Filename Format

scId_instrumentId_mode_dataLevel_optionalDataProductDescriptor_startTime_vX.Y.Z.ext

Table 3-1: Filename Component Description

Short Name

Description

Valid Options

scID

Spacecraft ID

hermes

instrumentId

Instrument or investigation identifier shortened to three letter acronym.

eea, mrt, nms, spn

mode

TBS

TBS

dataLevel

The level to which the data product has been processed

l0, l1, ql, l2, l3, l4

optionalDataProductDescriptor

This is an optional field that may not be needed for all products. Where it is used, identifier should be short (e.q. 3-8 characters) descriptors that are helpful to end-users. If a descriptor contains multiple components, underscores are used to separate those components.

An optional time span may be specified as “2s” to represent a data file that spans two seconds. In this case, “10s” and “5m” are other expected values that correspond with ten seconds and 5 minutes respectively.

startTime

The start time of the contained data given in ISO 8601 format.

20230519T000003

vX.Y.Z

The 3-part version number of the data product. Full description of this identifier is provided in Section 3.1.1 of this document.

v0.0.0, v

.ext

The required file extension, where CDF is required.

cdf

3.1.1 Version Numbering Guidelines

The three-part version number contains the interface number, quality number, and bug fix/revision number. The initial release of CDF data that is suitable for scientific publication should begin with “v1.Y.Z”. Each component of the version number is incremented in integer steps, as needed, and Table 3-2 describes the instances in which the value should be incremented. Release “v0.Y.Z” may be used for early development purposes.

Table 3-2: Version Numbering Guidelines

Part

Name

Description

X

Interface Number

Increments in this number represent a significant change to the processing software and/or to the content/structure of the file. These changes may be incompatible with existing code. Increments in this number may require code changes to software.

Y

Quality Number

This number represents a change in the quality of the data in the file, such as change in calibration or increase in fidelity. Changes should not impact software but may require consideration when processing data.

Z

Bug Fix / Revision Number

This number changes to indicate minor changes to the contents of the file due to reprocessing of missing data. Any dependent data products should generally be reprocessed if this value changes.

4. Global Attributes

Global attributes are used to provide information about the data set as an entity. Together with variables and variable attributes, the global attributes make the data correctly and independently usable by someone not connected with the instrument team, and hence, a good archive product.

The required, recommended, and optional global attributes that have been identified for use with HERMES data products are listed below. Additional global attributes can be defined but they must start with a letter and can otherwise contain letters, numbers, and the underscore character (no other special characters allowed). Note that CDF attributes are case-sensitive and must exactly follow what is shown here.

Detailed descriptions of the attributes listed below are available at the ISTP/IACG Global Attributes Webpage.

4.1 Required Global Attributes

The following global attributes shown in Table 4-1 are required with HERMES data products. HERMES-specific values are provided where applicable. For each attribute the following information is provided:

  • description: (str) A brief description of the attribute

  • default: (str) The default value used if none is provided

  • derived: (bool) Whether the attibute can be derived by the HERMES HermesDataSchema class

  • required: (bool) Whether the attribute is required by HERMES standards

  • validate: (bool) Whether the attribute is included in the validate() checks (Note, not all attributes that are required are validated)

  • overwrite: (bool) Whether the HermesDataSchema attribute derivations will overwrite an existing attribute value with an updated attribute value from the derivation process.

Note that this table is derived from hermes_core/data/hermes_default_global_cdf_attrs_schema.yaml

Table 4-1: Required Global Attributes

Attribute

description

default

derived

required

validate

overwrite

CDF_Lib_version

Version of the CDF Binaries library used to generate the CDF File

True

True

False

False

DOI

DOI is a persistent Unique Digital Identifier with the form https://doi.org/<PREFIX>/<SUFFIX> with the <PREFIX> identifying the DOI registration authority and the <SUFFIX> identifying the dataset. The DOI should point to a landing page for additional information about the dataset. DOIs are typically created by the SPASE naming authority or archive.

False

True

True

False

Data_level

This attribute is used in file name creation and records the level of processsing done on the dataset. For HERMES the following are valid values: - l0>Level 0 - l1>Level 1 - l2>Level 2 - l3>Level 3 - l4>Level 4 - ql>Quicklook

False

True

False

True

Data_product_descriptor

This is an optional field that may not be needed for all products. Where it is used, identifier should be short (e.q. 3-8 characters) descriptors that are helpful to end- users. If a descriptor contains multiple components, underscores are used to separate those components.

False

False

False

True

Data_type

This attribute is used by CDF file writing software to create a filename. It is a combination of the following filename components: mode, data level, and optional data product descriptor.

True

True

False

True

Data_version

This attribute identifies the version (vX.Y.Z) of a particular CDF data file.

False

True

True

False

Descriptor

This attribute identifies the name of the instrument or sensor that collected the data. Both a long name and a short name are given. For any data file, only a single value is allowed. For HERMES, the following are valid values: - EEA>Electron Electrostatic Analyzer - MERIT>Miniaturized Electron pRoton Telescope - NEMISIS> Noise Eliminating Magnetometer In a Small Integrated System - SPAN-I>Solar Probe Analyzer for Ions

False

True

True

False

Discipline

This attribute describes both the science discipline and sub discipline. For HERMES, this value should always be “Space Physics>Magnetospheric Science.”

Space Physics>Magnetospheric Science

False

True

True

False

Generation_date

Date stamps the creation of the file using the syntax yyyymmdd, e.g., “

True

True

True

True

HERMES_version

Version of hermes_core originally used to generate the given CDF File

True

True

False

False

HTTP_LINK

The ‘HTTP_LINK’, ‘LINK_TEXT’, and ‘LINK_TITLE’ attributes store the URL with a description of this dataset at the HERMES SDC. The use of HTTP_LINK attribute requires the existence and equal number of corresponding LINK_TEXT and LINK_TITLE attributes. If text is not needed for these attributes, use an empty string “”.

False

True

True

False

Instrument_mode

TBS

False

True

False

False

Instrument_type

This attribute is used to facilitate making choices of instrument type. More than one entry is allowed. Acceptable values for HERMES include: - Magnetic Fields (space) - Particles (space) - Plasma and Solar Wind - Ephemeris -> Ephemeris/Attitude/Ancillary

False

True

True

False

LINK_TEXT

The ‘HTTP_LINK’, ‘LINK_TEXT’, and ‘LINK_TITLE’ attributes store the URL with a description of this dataset at the HERMES SDC. The use of HTTP_LINK attribute requires the existence and equal number of corresponding LINK_TEXT and LINK_TITLE attributes. If text is not needed for these attributes, use an empty string “”.

False

True

True

False

LINK_TITLE

The ‘HTTP_LINK’, ‘LINK_TEXT’, and ‘LINK_TITLE’ attributes store the URL with a description of this dataset at the HERMES SDC. The use of HTTP_LINK attribute requires the existence and equal number of corresponding LINK_TEXT and LINK_TITLE attributes. If text is not needed for these attributes, use an empty string “”.

False

True

True

False

Logical_file_id

This attribute stores the name of the CDF file but without the file extension (e.g. “.cdf”). This attribute is required to avoid loss of the original source in the case of accidental (or intentional) renaming.

True

True

True

True

Logical_source

This attribute determines the file naming convention in the SKT Editor and is used by CDA Web. It is composed of the following values: - source_name - (e.g. spacecraft identifier) - descriptor - (e.g. instrument identifier - see Section Error! Reference source not found.) - data_type - (e.g. mode, data level, and optional data product descriptor - value come from ‘Data_type’ attribute)

True

True

True

True

Logical_source_description

This attribute writes out the full words associated with the encrypted Logical_source above, e.g., “Level 1 Dual Electron Spectrometer Survey Data”. Users on CDAWeb see this value on their website.

True

True

True

True

MODS

This attribute is an SPDF standard global attribute, which is used to denote the history of modifications made to the CDF data set. The MODS attribute should contain a description of all significant changes to the data set, essentially capturing a log of high- level release notes. This attribute can have as many entries as necessary and should be updated if the Interface Number (“X”) of the version number changes.

False

True

True

False

Mission_group

This attribute has a single value and is used to facilitate making choices of source through CDAWeb. This value should be “HERMES.”

HERMES

False

True

True

False

PI_affiliation

This attribute value should include the HERMES mission PI affiliation followed by a comma-separated list of any Co-I affiliations that are responsible for this particular dataset. The following are valid HERMES values, of which the abbreviations should be used exclusively within this attribute value, and the full text of the affiliation included in the general ‘text’ attribute as it is used solely in plot labels. - GSFC - Goddard Space Flight Center - UCB - University of California, Berkeley - SSL - Space Sciences Laboratory, UCB - UM - University of Michigan

False

True

True

False

PI_name

This attribute value should include first initial and last name of the HERMES mission PI followed by a comma-separated list of any Co-Is that are responsible for this particular dataset.

False

True

True

False

Project

This attribute identifies the name of the project and indicates ownership. For HERMES, this value should be “STP>Solar-Terrestrial Physics”.

STP>Solar-Terrestrial Physics

False

True

True

False

Source_name

This attribute identifies the observatory where the data originated. The following are valid values for HERMES: - HERMES>Heliophysics Environmental and Radiation Measurement Experiment Suite

HERMES>Heliophysics Environmental and Radiation Measurement Experiment Suite

False

True

True

False

Start_time

The start time of the contained data given in YYYYMMDD_hhmmss

True

True

False

True

TEXT

This attribute is an SPDF standard global attribute, which is a text description of the experiment whose data is included in the CDF. A reference to a journal article(s) or to a World Wide Web page describing the experiment is essential and constitutes the minimum requirement. A written description of the data set is also desirable. This attribute can have as many entries as necessary to contain the desired information. Typically, this attribute is about a paragraph in length and is not shown on CDAWeb. CDAWeb is the web portal for access to SPDF data, available at https://cdaweb.gsfc.nasa.gov.

False

True

True

False

4.3 Optional Attributes

Table 4-2: Optional Attributes

Attribute

Description

Parents

This attribute lists the parent data files for files of derived and merged data sets. The syntax for a CDF parent is: “CDF>logical_file_id”. Multiple entry values are used for multiple parents. This attribute is required for any HERMES data products that are derived from 2 or more data sources and the file names of parent data should be clearly identified. CDF parents may include source files with non-cdf extensions.

Skeleton_version

This is a text attribute containing the skeleton file version number.

Rules_of_use

Text containing information on citability and/or PI access restrictions. This may point to a World Wide Web page specifying the rules of use. Rules of Use are determined on both a mission and instrument basis, at the discretion of the PI.

Time_resolution

Specifies time resolution of the file, e.g., “3 seconds”.

5. Variables

There are three types of variables that should be included in CDF files: * data, * support data, * metadata.

Additionally, required attributes are listed with each variable type listed below.

To facilitate data exchange and software development, variable names should be consistent across the HERMES instruments and four spacecraft. Additionally, it is preferable that data types are consistent throughout all HERMES data products (e.g. all real variables are CDF_REAL4, all integer variables are CDF_INT2, and flag/status variables are UINT2). This is not to imply that only these data types are allowable within HERMES CDF files. All CDF supported data types are available for use by HERMES.

For detailed information and examples, please see the ISTP/IACG Webpage

5.1 Data

These are variables of primary importance (e.g., density, magnetic field, particle flux). Data is always time (record) varying but can be of any dimensionality or CDF supported data type. Real or Integer data are always defined as having one element.

5.1.1 Naming

HERMES data variables must adhere to the following naming convention * scId_instrumentId_paramName

An underscore is used to separate different fields in the variable name. It is strongly recommended that variable names employ further fields, qualifiers and information designed to identify unambiguously the nature of the variable, instrument mode and data processing level, with sufficient detail to lead the user to the unique source file which contains the variable. It is recommended that these follow the order shown below.

  • scId_instrumentId_paramName[_coordSys][_paramQualifier][_subModeLevel][_mode][_dataLevel]

where the required fields are described in Table 5-1 and the optional fields are described in Table 5-2. An example data variable would be hermes_eea_n_gse_l2.

Table 5-1: Required Data Variable Fields

Required Field Name

Description

scId

Spacecraft identifier, see Table 3-1 for acceptable values

instrumentId

Instrument or investigation identifier, see Table 3-1 for acceptable values and note the caveats listed in Section 5.1.1.1.

paramName

Data parameter identifier, a short (a few letters) representation of the physical parameter held in the variable.

Table 5-2: Optional Data Variable Fields

Optional Field Name

Description

coordSys

An acronym for the coordinate system in which the parameter is cast.

paramQualifier

Parameter descriptor, which may include multiple components separated by a “_” as needed (e.g. “pa_0” indicates a pitch angle of 0).

subModeLevel

Qualifier(s) to include mode and data level information supplementary to the following two fields.

mode

See Table 3-1 for acceptable values.

dataLevel

See Table 3-1 for acceptable values.

5.1.1.1 Caveats

Note the following caveats in the variable naming conventions:

  • CDF variable names must begin with a letter and can contain numbers and underscores, but no other special characters.

  • In general, the instrumentId field follows the convention used for file names as defined in Section 3.1. However, since variable names cannot contain a hyphen, an underscore should be used instead of a hyphen when needing to separate instrument components. For instance, “eea-ion” is a valid instrumentId in a filename but when used in a variable name, “eea_ion” should be used instead.

  • To ensure software compatibility between disparate systems, parameter names will consist of all lowercase characters.

5.1.2 Required Epoch Variable

All HERMES CDF data files must contain at least one variable of data type CDF_TIME_TT2000, typically named “Epoch”. This variable should normally be the first variable in each CDF data set. All time varying variables in the CDF data set will depend on either this “epoch” variable or on another variable of type CDF_TIME_TT2000 (e.g. hermes_eea_epoch). More than one CDF_TIME_TT2000 type variable is allowed in a data set to allow for more than one time resolution, using the required DEPEND_0 attribute (see Section 5.5) to associate a time variable to a given data variable. It is recommended that all such time variables use “epoch” within their variable name.

For ISTP, but not necessarily for all HERMES data, the time value of a record refers to the center of the accumulation period for the record if the measurement is not an instantaneous one. All HERMES time variables used as DEPEND_0 are strongly recommended to have DELTA_PLUS_VAR and DELTA_MINUS_VAR attributes which delineate the time interval over which the data was sampled, integrated, or otherwise representative of. This also locates the timetag within that interval.

The epoch datatype, CDF_TIME_TT2000, is defined as an 8-byte signed integer with the characteristics shown in Table 5-3.

Table 5-3: Characteristics of CDF_TIME_TT2000

Name

Example

time_base

J2000 (Julian date 2451545.0 TT or 2000 January 1, 12h TT)

resolution

nanoseconds

time_scale

Terrestrial Time (TT)

units

nanoseconds

reference_position

rotating Earth Geoid

Given a current list of leap seconds, conversion between TT and UTC is straightforward (TT = TAI + 32.184s; TT = UTC + deltaAT + 32.184s, where deltaAT is the sum of the leap seconds since 1960; for example, for 2009, deltaAT = 34s). Pad values of - 9223372036854775808 (0x8000000000000000) which corresponds to 1707-09- 22T12:13:15.145224192; recommended FILLVAL is same.

It is proposed that the required data variables VALIDMIN and VALIDMAX are given values corresponding to the dates 1990-01-01T00:00:00 and 2100-01-01T00:00:00 as these are well outside any expected valid times.

5.1.3 Required Attributes: Data Variables

Data variables require the following attributes:

  • CATDESC

  • DEPEND_0

  • DEPEND_i [for dimensional data variables]

  • DISPLAY_TYPE

  • FIELDNAM

  • FILLVAL

  • FORMAT or FORM_PTR

  • LABLAXIS or LABL_PTR_i

  • SI_CONVERSION

  • UNITS or UNIT_PTR

  • VALIDMIN and VALIDMAX

  • VAR_TYPE

In addition, the following attributes are strongly recommended for vectors, tensors and quaternions which are held in or relate to a particular coordinate system:

  • COORDINATE_SYSTEM

  • TENSOR_ORDER

  • REPRESENTATION_i

  • OPERATOR_TYPE [for quaternions]

5.1.4 Attributes for DEPEND_i Variables

Variables appearing in a data variable’s DEPEND_i attribute require a minimal set of their own attributes to fulfill their role in supporting the data variable. The standard SUPPORT_DATA variable attributes are listed in Section 5.3.2. Other standard variable attributes are optional.

5.2 Quaternions

HERMES mec files contain unit quaternions which can be employed to rotate from one coordinate system to the other. For an arbitrary rotation, that rotational information can expressed as a rotation through an angle θ about a unit vector u. The Wikipedia page on “Quaternions and Spatial Rotation” provides details and the relationship between the quaternion and a 3x3 rotation matrix. In the mec files, quaternions are represented by:

q = (qx, qy, qz, qw)

in which qw (also known elsewhere as qc) = cos (θ/2) and (qx, qy, qz) = u sin (θ/2). Extensions of existing attribute standards are strongly recommended to be used to describe such quaternions. The following attributes serve this purpose:

  • OPERATOR_TYPE=UNIT_QUATERNION

  • REPRESENTATION_1 = “x”, “y”, “z”, “c” [in the right order; the “c” denotes the cosineterm]

  • COORDINATE_SYSTEM=XXX [standard syntax, as for vectors; the FROM frame]

  • TO_COORDINATE_SYSTEM=YYY [same syntax; the TO frame]

Such a quaternion will take a vector given in the XXX coordinate system and generate its components in the YYY coordinate system.

5.3 Support Data

These are variables of secondary importance employed as DEPEND_i variables as described in section 5.1.3 (e.g., time, energy_bands associated with particle flux), but they may also be used for housekeeping or other information not normally used for scientific analysis.

5.3.1 Naming

Support data variable names must begin with a letter and can contain numbers and underscores, but no other special characters. Support data variable names need not follow the same naming convention as Data Variables (5.1.1) but may be shortened for convenience.

5.3.2 Required Attributes: Support Variables

  • CATDESC

  • DEPEND_0 (if time varying)

  • FIELDNAM

  • FILLVAL (if time varying)

  • FORMAT/FORM_PTR

  • LABLAXIS or LABL_PTR_i

  • SI_CONVERSION

  • UNITS/UNIT_PTR

  • VALIDMIN (if time varying)

  • VALIDMAX (if time varying)

  • VAR_TYPE = “support_data”

Other attributes may also be present.

5.4 Metadata

These are variables of secondary importance (e.g. a variable holding “Bx”, “By”, “Bz” to label magnetic field). Metadata are usually text strings as opposed to the numerical values held in DEPEND_i support data.

5.4.1 Naming

Metadata variable names must begin with a letter and can contain numbers and underscores, but no other special characters. Metadata variable names need not follow the same naming convention as Data Variables (5.1.1) but may be shortened for convenience.

5.4.2 Required Attributes: Metadata Variables

  • CATDESC

  • DEPEND_0 (if time varying, this value must be “Epoch”)

  • FIELDNAM

  • FILLVAL (if time varying)

  • FORMAT/FORM_PTR

  • VAR_TYPE = metadata

5.5 Variable Attribute Schema

The following variable attributes shown in Table 5-4 are required with HERMES data products. HERMES-specific values are provided where applicable. For each attribute the following information is provided:

  • description: (str) A brief description of the attribute

  • derived: (bool) Whether the attibute can be derived by the HERMES HermesDataSchema class

  • required: (bool) Whether the attribute is required by HERMES standards

  • overwrite: (bool) Whether the HermesDataSchema attribute derivations will overwrite an existing attribute value with an updated attribute value from the derivation process.

  • valid_values: (list) List of allowed values the attribute can take for HERMES products, if applicable

  • alternate: (str) An additional attribute name that can be treated as an alternative of the given attribute. Not all attributes have an alternative and only one of a given attribute or its alternate are required.

  • var_types: (str) A list of the variable types that require the given attribute to be present.

Note that this table is derived from hermes_core/data/hermes_default_variable_cdf_attrs_schema.yaml

Table 5-4 HERMES Variable Attribute Schema

Attribute

description

derived

required

overwrite

valid_values

alternate

var_types

TIME_BASE

fixed (0AD, 1900, 1970 (POSIX), J2000 (used by CDF_TIME_TT2000), 4714 BC (Julian)) or flexible (provider-defined)

True

True

False

RESOLUTION

Using ISO8601 relative time format, for example: “1s” = 1 second. Resolution provides the smallest change in time that is measured.

True

True

False

TIME_SCALE

TT (same as TDT, used by CDF_TIME_TT2000), TAI (same as IAT, TT-32.184s), UTC (includes leap seconds), TDB (same as SPICE ET), EME1950 [default: UTC]

True

True

False

REFERENCE_POSITION

Topocenter (local), Geocenter , rotating Earth geoid (used by CDF_TIME_TT2000). Reference_Position is optional metadata to account for time variance with position in the gravity wells and with relative velocity. While we could use a combined TimeSystem attribute that defines mission-specific time scales where needed, such as UTC-at-STEREO-B, it’s cleaner to keep them separate as Time_Scale=UTC and Reference_Position=STEREO-B.

True

True

False

LEAP_SECONDS_INCLUDED

comma-delimited list (within brackets) of leap seconds included in the form of a lists of ISO8601 times when each leap second was added, appended with the size of the leap second in ISO8601 relative time (+/- time, most commonly: “+1s”) [default: standard list of leap seconds up to time of data]. Leap_Seconds_Included is needed to account for time scales that don’t have all 34 (in 2009) leap seconds and for the clocks in various countries that started using leap seconds at different times. The full list is required to handle the equally or more common case where a time scale starts at a pecific UTC but continues on without leap seconds in TAI mode; this is basically what missions that don’t add leap seconds are doing. $ cat tai-utc.dat | awk ‘ORS=”,” { val = $7 - prev } {prev = $7} { print $1$2”01+” val “s” }’

False

False

False

ABSOLUTE_ERROR

Absolute or systematic error, in same units as Units attribute.

False

False

False

RELATIVE_ERROR

Relative or random error, in same units as Units attribute - to specify the accuracy of the time stamps relative to each other. This is usually much smaller than Absolute_Error.

False

False

False

BIN_LOCATION

relative position of time stamp to the data measurement bin, with 0.0 at the beginning of time bin and 1.0 at the end. Default is 0.5 for the time at the center of the data measurement. Since clock readings are usually truncated, the real value may be closer to 0.0.

False

False

False

CATDESC

This is a human readable description of the data variable. Generally, this is an 80- character string which describes the variable and what it depends on.

False

True

False

data support_data metadata

DELTA_MINUS_VAR

DEPEND_i variables are typically physical values along the corresponding i-th dimension of the parent data variable, such as energy levels or spectral frequencies. The discreet set of values are located with respect to the sampling bin by DELTA_PLUS_VAR and DELTA_MINUS_VAR, which hold the variable name containing the distance from the value to the bin edge. It is strongly recommended that HERMES DEPEND_i variables include DELTA_PLUS_VAR and DELTA_MINUS_VAR attributes that point to the appropriate variable(s) located elsewhere in the CDF file.

False

False

False

DELTA_PLUS_VAR

DEPEND_i variables are typically physical values along the corresponding i-th dimension of the parent data variable, such as energy levels or spectral frequencies. The discreet set of values are located with respect to the sampling bin by DELTA_PLUS_VAR and DELTA_MINUS_VAR, which hold the variable name containing the distance from the value to the bin edge. It is strongly recommended that HERMES DEPEND_i variables include DELTA_PLUS_VAR and DELTA_MINUS_VAR attributes that point to the appropriate variable(s) located elsewhere in the CDF file.

False

False

False

DEPEND_0

Explicitly ties a data variable to the time variable on which it depends. All variables which change with time must have a DEPEND_0 attribute defined. See section 5.2.1 which specifies the HERMES usage of DEPEND_0.

True

True

False

data

DEPEND_i

Ties a dimensional data variable to a SUPPORT_DATA variable on which the i-th dimension of the data variable depends. The number of DEPEND attributes must match the dimensionality of the variable, i.e., a one-dimensional variable must have a DEPEND_1, a two-dimensional variable must have a DEPEND_1 and a DEPEND_2 attribute, etc. The value of the attribute must be a variable in the same CDF data set. It is strongly recommended that DEPEND_i variables hold values in physical units. DEPEND_i variables also require their own attributes, as described in section 5.1.4.

False

False

False

DISPLAY_TYPE

This tells automated software, such as CDAWeb, how the data should be displayed.

True

True

False

time_series time_series>noerrorbars spectrogram stack_plot image

data

FIELDNAM

A shortened version of CATDESC which can be used to label a plot axis or as a data listing heading. This is a string, up to ~30 characters in length.

True

True

False

data support_data metadata

FILLVAL

Identifies the fill value used where data values are known to be bad or missing. FILLVAL is required for time-varying variables. Fill data are always non-valid data. The ISTP standard fill values are listed in Table 5-4.

True

True

False

data support_data metadata

FORMAT

This field allows software to properly format the associated data when displayed on a screen or output to a file. Format can be specified using either Fortran or C format codes. For instance, “F10.3” indicates that the data should be displayed across 10 characters where 3 of those characters are to the right of the decimal. For a description of FORTRAN formatting codes see the docs here: https://docs.oracle.com/cd/E19957-01/805-4939/z40007437a2e/index.html

True

True

False

FORM_PTR

data support_data metadata

FORM_PTR

The value of this field is a variable which stores the character string that represents the desired output format for the associated data.

False

False

False

FORMAT

LABLAXIS

Used to label a plot axis or to provide a heading for a data listing. This field is generally 6-10 characters. Only one of LABLAXIS or LABL_PTR_i should be present.

True

True

False

LABL_PTR_1

data support_data

LABL_PTR_i

Used to label a dimensional variable when one value of LABLAXIS is not sufficient to describe the variable or to label all the axes. LABL_PTR_i is used instead of LABLAXIS, where i can take on any value from 1 to n where n is the total number of dimensions of the original variable. The value of LABL_PTR_1 is a variable which will contain the short character strings which describe the first dimension of the original variable. The value of the attribute must be a variable in the same CDF data set and is generally 6-10 characters. Only one of LABLAXIS or LABL_PTR_i should be present.

False

False

False

LABLAXIS

SI_CONVERSION

The conversion factor to SI units. This is the factor that the variable must be multiplied by in order to convert it to generic SI units. This parameter contains two text fields separated by the “>” delimiter. The first component is the conversion factor and the second is the standard SI unit. Units are defined according to their standard SI symbols (ie. Tesla = T, Newtons = N, Meters = m, etc.) For data variables that are inherently unitless, and thus lack a conversion factor, this data attribute will be “ > “ where ‘ ‘ is a blank space and the quotation marks are not included. Units which are not conveniently transformed into SI should follow the blank syntax “ > “ described above.

True

True

False

data support_data

UNITS

A 6-20 character string that identifies the units of the variable (e.g. nT for magnetic field). Use a blank character, rather than “None” or “unitless”, for variables that have no units (e.g., a ratio or a direction cosine). An active list of HERMES standard UNITS and their SI_CONVERSIONs is maintained on the mission web-pages at https://lasp.colorado.edu/galaxy/display/HERMES/Units+of+Measure, accessible via the HERMES Science Working Team pages. Those pages also lay out the rules for formatting the UNITS string.

True

True

False

UNIT_PTR

data support_data

UNIT_PTR

The value of this field is a variable which stores short character strings which identify the units of the variable. Use a blank character, rather than “None” or “unitless”, for variables that have no units (e.g., a ratio or a direction cosine). The value of this attribute must be a variable in the same CDF data set.

False

False

False

UNITS

VALIDMIN

The minimum value for a particular variable that is expected over the lifetime of the mission. Used by application software to filter out values that are out of range. The value must match the data type of the variable.

True

True

False

data support_data

VALIDMAX

The maximum value for a particular variable that is expected over the lifetime of the mission. Used by application software to filter out values that are out of range. The value must match the data type of the variable.

True

True

False

data support_data

VAR_TYPE

Used in CDAWeb to indicate if the data should be used directly by users.

True

True

False

data support_data metadata ignore_data

data support_data metadata

COORDINATE_SYSTEM

All variables for which the values are dependent on the system of coordinates are strongly recommended to have this attribute. This includes both full vectors, tensors, etc. or individual values, e.g. of an angle with respect to some axis. The attribute is a text string which takes the form: “XXX[>optional long name]”

False

False

False

TENSOR_ORDER

All variables which hold physical vectors, tensors, etc., or sub-parts thereof, are strongly recommended to have their tensorial properties held by this numerical value. Vectors have TENSOR_ORDER=1, pressure tensors have TENSOR_ORDER=2, etc. Variables which hold single components or sub-parts of a vector or tensor, e.g., the x-component of velocity or the three diagonal elements of a tensor, use this attribute to establish the underlying object from which they are extracted. TENSOR_ORDER is a number, usually held as a CDF_INT4, rather than a character string.

False

False

False

REPRESENTATION_i

This strongly recommended attribute holds the way vector or tensor variables are held, e.g., as Cartesian or polar forms, and their sequence order in the dimension i in which they are held. Cartesians are indicated by x,y,z; polar coordinates by r (magnitude), t (theta - from z-axis), p (phi - longitude or azimuth around z-axis from x axis), l (lambda = latitude). Examples follow.

False

False

False

OPERATOR_TYPE

This has been introduced to describe HERMES quaternions (see Section 5.2 below). It has allowed values “UNIT_QUATERNION” or “ROTATION_MATRIX” although other values could be added. Unit quaternions correspond to pure spatial rotations.

False

False

False

WCSAXES

This is a FITS WCS Keyword being repurposed for handling WCS transformations with high-dimensional or spectral CDF data variables. The value field shall contain a non-negative integer no greater than 999, representing the number of axes in the associated data array.

True

False

False

MJDREF

This is a FITS WCS Keyword being repurposed for handling WCS transformations with high-dimensional or spectral CDF data variables. The value shall contain a floating point number representing the reference time position of the time stamps along the 0’th axis of the measurement.

True

False

False

TIMEUNIT

This is a FITS WCS Keyword being repurposed for handling WCS transformations with high-dimensional or spectral CDF data variables. The value shall contain a character string giving the units of the time stamps along the 0’th axis of the measurement. The TIMEUNIT should match the CUNITi along the time axis of the measurement

True

False

False

TIMEDEL

This is a FITS WCS Keyword being repurposed for handling WCS transformations with high-dimensional or spectral CDF data variables. The value shall contain a floating point number representing the resolution of the time stamps along the 0’th axis of the measurement. The TIMEDEL should match the CRDELi along the time axis of the measurement.

True

False

False

CNAMEi

This is a FITS WCS Keyword being repurposed for handling WCS transformations with high-dimensional or spectral CDF data variables. This metadata attribte should be used for the i’th dimension (1-based) and reapeated for all WCSAXES dimensions. The value shall contain a charachter string represnting the name of the i’th axis. The name is used for comment/documentation purposes only and is not used as a part of the i’th axis coordinate transformations.

True

False

False

CTYPEi

This is a FITS WCS Keyword being repurposed for handling WCS transformations with high-dimensional or spectral CDF data variables. This metadata attribte should be used for the i’th dimension (1-based) and reapeated for all WCSAXES dimensions. The value field shall contain a character string, giving the name of the coordinate represented by axis i.

True

False

False

CUNITi

This is a FITS WCS Keyword being repurposed for handling WCS transformations with high-dimensional or spectral CDF data variables. This metadata attribte should be used for the i’th dimension (1-based) and reapeated for all WCSAXES dimensions. The value shall be the units along axis i, compatible with CTYPEi to be used for scaling and coordinate transformations along the i’th axis.

True

False

False

CRPIXi

This is a FITS WCS Keyword being repurposed for handling WCS transformations with high-dimensional or spectral CDF data variables. This metadata attribte should be used for the i’th dimension (1-based) and reapeated for all WCSAXES dimensions. The value field shall contain a floating point number, identifying the location of a reference point along axis i, in units of the axis index. This value is based upon a counter that runs from 1 to NAXISn with an increment of 1 per pixel. The reference point value need not be that for the center of a pixel nor lie within the actual data array. Use comments to indicate the location of the index point relative to the pixel.

True

False

False

CRVALi

This is a FITS WCS Keyword being repurposed for handling WCS transformations with high-dimensional or spectral CDF data variables. This metadata attribte should be used for the i’th dimension (1-based) and reapeated for all WCSAXES dimensions. The value field shall contain a floating point number, giving the value of the coordinate specified by the CTYPEn keyword at the reference point CRPIXi.

True

False

False

CDELTi

This is a FITS WCS Keyword being repurposed for handling WCS transformations with high-dimensional or spectral CDF data variables. This metadata attribte should be used for the i’th dimension (1-based) and reapeated for all WCSAXES dimensions. The value field shall contain a floating point number giving the partial derivative of the coordinate specified by the CTYPEi keywords with respect to the pixel index, evaluated at the reference point CRPIXi, in units of the coordinate specified by the CTYPEi keyword.

True

False

False