# Product Metadata

group `harp_product_metadata`

  The HARP Product Metadata module contains everything related to HARP product metadata.

  Typedefs

  typedef struct harp_product_metadata_struct `harp_product_metadata`

    HARP Product Metadata typedef

  Functions

  void `harp_product_metadata_delete`(harp_product_metadata *metadata)

    Delete product metadata. Remove metadata and all attached variables and attributes.

    Parameters
      - `metadata`: HARP metadata.
  int `harp_product_metadata_new`(harp_product_metadata **new_metadata)

    Create new product metadata. The metadata will be intialized with 0.0 datetime_start/end.

    Return
      - `0`, Success.
      - `-1`, Error occurred (check harp_errno).
    Parameters
      - `new_metadata`: Pointer to the C variable where the new HARP product metadata will be stored.
  void `harp_product_metadata_print`(harp_product_metadata *metadata, int (*print)(const char *, ...))

    Print product metadata. This will print a comma-separated list of:

    - filename
    - datetime_start
    - datetime_stop
    - time (dimension length)
    - latitude (dimension length)
    - longitude (dimension length)
    - vertical (dimension length)
    - spectral (dimension length)
    - source_product
      Parameters
        - `metadata`: Pointer to the metadata to print.
        - `print`: Pointer to the function that should be used for printing.
  struct `harp_product_metadata_struct`
    #include <harp.h>

    HARP Product Metadata struct