Metadata Conversion
Contents
Metadata Conversion#
To compensate for the variety of metadata specification formats available, Axiom provides a number of conversion utilities to convert these formats into something it can use.
CF Conventions#
The CF Conventions standard name table is available as an XML download from the following URL:
https://cfconventions.org/standard-names.html
Axiom does not use this file directly, rather it converts the file into a metadata schema for use in data validation.
import axiom.utilities as au
schema = au.load_cf_standard_name_table('/path/to/file.xml')
Note: this schema will be very big (~130K lines formatted) but remains human/machine readable.
CORDEX CSV#
Development efforts for CCAM have extracted metadata requirements manually from specification PDF files into a CSV format. Axiom provides a utility to convert this format into a schema for interoperability:
import axiom.utilities as au
schema = au.load_cordex_csv(
'/path/to/file.csv',
contact='John Smith',
contact_email='john.smith@example.com',
version='0.1.0'
)
Notes:
Additional keyword arguments provided to the function are added to the schema header.
No global metadata is applied during this function (as there is none to infer); hence, the user is encouraged to add these manually.
schema['_global'] = dict(
author='John Smith',
description='Scientific outputs.'
# etc.
)
Saving Converted Schemas#
All schemas, converted or otherwise can be saved using the save_schema
method.
au.save_schema(schema, 'my-schema-0.1.0.json')
It is good practice to add version information into the filepath.