FAQ — Python reimplementation of NIXIO (http://g-node.github.io/nix/) 1.5.3 Release documentation

# FAQ

## Q: Why sampling interval in the sampled dimension, not sampling rate?

Because the interval is the more general term. It can also be applied to dimensions that do not extend in time but for example space.

## Q: What does this error mean? “Cannot open a nonexistent file in ReadOnly mode”

Arises when the provided file path is invalid and you try to open it with the nixio.FileMode.ReadOnly mode. Solution: provide the path to an existing file to be opened in `nixio.FileMode.ReadOnly` mode or use the `nixio.FileMode.ReadWrite` or `nixio.FileMode.Overwrite` flag to create a new one.

## Q: Is it ok to use non-SI units?

Well, let’s say it is tolerated but not advised. When using SI and compounds of SI units we can try to scale according to the provided units which is not supported/not necessarily possible for non-SI units. It is largely safe to use non-SI units when providing metadata or specifying the unit of the data stored in a DataArray. It may become problematic in the context of Dimensions. Some functions support reading data with the positions provided by the Tags, in these cases we rely on scalability of the units.

If you feel this is unjustified, feel free to improve our unit-handling system.

## Q: Can I use unicode?

Unfortunately, unicode is so far not supported. In order to specify microseconds you can, and have to, write “us”.

## Q: Why does a DataArray not automatically load the data from file?

This would be very convenient, indeed. Otoh, the NIX entities, such as the DataArray, are designed to be lightweight objects that can be created quickly and do not eat up the RAM. At opening time we have no idea about the actual data size. In our use-cases a single DataArray can contain GB of data. Reading these would take some time and increase memory demand.

It further allows for partial loading of data. A DataArray that contains multiple long signals can be very large and it would be inefficient loading the entire data when you need only a single signal, or a few data segments.