openkim/kim-property

The key "source-asym-std-uncert-neg" in a property instance is defined as scalar

Closed this issue · 2 comments

For the dislocation-core-energy-cubic-crystal-npt property and
running the kim_property_modify module with inputs of

    "key", "core-energy-nonsingular",
           "source-value", "1:9", *E_core_nonsingular_avg,
           "source-asym-std-uncert-neg", "1:9", *E_core_nonsingular_min,

will fail with ValueError: could not convert string to float: '1:9’

According to the current properties framework document:

If the source-value key is a scalar, the values of the uncertainty and digits keys must be scalars. 
If the source-value key’s value is an array (EDN vector), the values of the uncertainty and digits 
keys must be either arrays of the same extent, or scalars in which case they are taken to apply 
equally to all values in the source-value array.

In the kim_property_modify module, only the standard keys of

"source-value"
"si-value"
"source-std-uncert-value"
"source-expand-uncert-value"

are defined as keys with the extent, and the rest of the keys are described as having scalar values.

In the case of the dislocation driver, this error report might cause an enhancement within kim_property_modify module to allow uncertainty-related keys to be considered as array valued.

This issue has been addressed in 4097ab9