assetid

An ocean data asset ID parser developed and used by Axiom Data Science


License
MIT
Install
pip install assetid==1.0.0

Documentation

assetid Build Status

An ocean data asset ID parser developed and used by Axiom Data Science

Installation

Stable
pip install assetid
Development
pip install git+https://github.com/axiom-data-science/assetid.git

IOOS URNs

More Information

URN Normalization

Examples:

from assetid.urn import IoosUrn

u = IoosUrn(asset_type='station', authority='axiom', label='station1')

print(u.__dict__)
# {'asset_type': 'station',
#  'authority': 'axiom',
#  'component': None,
#  'label': 'station1',
#  'discriminant': None}

print(u.urn)
# 'urn:ioos:station:axiom:station1'
from assetid.urn import IoosUrn

u = IoosUrn.from_string('urn:ioos:station:axiom:station1')

print(u.__dict__)
# {'asset_type': 'station',
#  'authority': 'axiom',
#  'component': None,
#  'label': 'station1',
#  'discriminant': None}

print(u.urn)
# 'urn:ioos:station:axiom:station1'
from assetid.urn import IoosUrn

# NetCDF variable attributes from a "sensor" urn
print(IoosUrn.from_string('urn:ioos:sensor:axiom:station1').attributes())
# {'standard_name': 'wind_speed'}

print(IoosUrn.from_string('urn:ioos:sensor:axiom:foo:lwe_thickness_of_precipitation_amount#cell_methods=time:mean,time:variance;interval=pt1h').attributes())
# {'standard_name': 'lwe_thickness_of_precipitation_amount',
#  'cell_methods': 'time: mean time: variance (interval: PT1H)'}

# URN from `dict` of variable attributes
attributes = {'standard_name': 'wind_speed',
              'cell_methods': 'time: mean (interval: PT24H)'}
print(IoosUrn.from_dict('authority', 'label', attributes).urn)
# 'urn:ioos:sensor:authority:label:wind_speed#cell_methods=time:mean;interval=pt24h'

# URN from a `netCDF4` Variable object
nc = netCDF4.Dataset('http://thredds45.pvd.axiomalaska.com/thredds/dodsC/grabbag/USGS_CMG_WH_OBS/WFAL/9001rcm-a.nc')
print(IoosUrn.from_dict('authority', 'label', nc.variables['T_28'].dict).urn)
# 'urn:ioos:sensor:authority:label:sea_water_temperature'