Interfacing with Uncertainty Information
obsarray enables users to define, store and interface with uncertainty information in xarray.Dataset
’s.
To access the uncertainty information for a particular measured variable, use the dataset’s unc
accessor as follows,
import xarray as xr
import obsarray
ds = xr.open_dataset("measurement_data.nc")
print(ds.unc["measurand"])
This lists the uncertainty components for that variable. To access the uncertainty information for a particular variable,
ds.unc["measurand"]["u_rand_measurand"]
ds.unc["measurand"]["u_rand_measurand"].value # uncertainty data
ds.unc["measurand"]["u_rand_measurand"].err_corr # error correlation information
Or evaluate the combined uncertainty from all the uncertainty components,
ds.unc["measurand"].total
You can add a new uncertainty component for a particular variable in a similar way to adding a new variable to a dataset,
unc_meta = {"err_corr": err_corr_dict}
ds.unc["measurand"]["u_new_measurand"] = (["dims"], unc_data, unc_meta)
Where the unc_meta
dictionary must contain an entry that defines the error-correlation structure between measurement due to this uncertainty component (i.e., random or systematic). How to define this error-correlation metadata dictionary is described in the more detailed uncertainty variables section.