Metadata — Axiom 0.0.1 documentation

# Metadata

Metadata can be provided to Axiom in three different ways:

1. Loading a metadata JSON format.

2. Extracting metadata from a NetCDF file.

3. Programmatically at runtime.

## Loading a metadata JSON

    {
        "_global": {
            "author": "John Smith",
            "description": "Scientific outputs."
        },
        "variables":{
            "t2": {"units": "K"},
            "u10": {"units": "m/s"}
        }
    }

Then:

    import axiom.utilities as au
    metadata = au.load_metadata_json('metadata.json')

## Extracted from an Xarray dataset

    import xarray as xr
    import axiom.utilities as au

    ds = xr.open_dataset('data.nc')
    metadata = au.extract_metadata(ds)

## Defined programmatically at runtime

    metadata = dict(
        _global=dict(
            author='John Smith',
            description='Scientific outputs.'
        ),
        variables=dict(
            t2=dict(units='K'),
            u10=dict(units='m/s')
        )
    )

The three examples above are equivalent.

For metadata to be useful, it needs to be validated against a Schema.