DVS Metadata
Last update: 16.07.2025Table of Contents
DVS Dataset Metadata
The DVS API supports writing dataset metadata via the dvs_add_metadata() or DVS::IClient::add_metadata() methods for the C/C++ API (similarly named methods for the Python API). This must be done during the initialization step between begin_init and end_init.
Supported EnSight Dataset Metadata
The EnSight DVS reader reserves specific metadata key/value pairs for specific operations within EnSight. Below is a list of currently supported tags.
| KEY | VALUE/DESCRIPTION |
|---|---|
| _DVS::REMOVE_ELEMENT_VAR | The name of the variable definition being used to filter elements, see EnSight DVS Element Filtering |
| _DVS::REMOVE_ELEMENT_FILTER | The logical equation to use when filtering elements based on a variable's value, see EnSight DVS Element Filtering |
EnSight DVS Element Filtering
EnSight will automatically filter out elements based on a scalar variable value if the metadata tags are set on a dataset. To do this you first set _DVS::REMOVE_ELEMENT_VAR to the name of the variable definition that will be used and then set _DVS::REMOVE_ELEMENT_FILTER to the filtering equation. The filtering equation follows the standard format for Query Stanzas. There are some limitations however. Element filtering only works with scalar variables and the object/attribute must be "var.value". It also only supports the operators gt (>), lt (<), eq (==), and neq (!=). Lastly it only works for a max of 2 chained query stanzas. A few examples should help this make sense.
Example 1
A user would like to filter out elements if the value of "my_filter_var" is equal to 1.1 or 1.2.
| KEY | VALUE |
|---|---|
| _DVS::REMOVE_ELEMENT_VAR | my_filter_var |
| _DVS::REMOVE_ELEMENT_FILTER | /var.value/eq/1.1//or/var.value/eq/1.2 |
Example 2
A user would like to filter out elements based on the variable "pressure" if they are above the threshold of 2.0 and below the threshold of 15.4.
| KEY | VALUE |
|---|---|
| _DVS::REMOVE_ELEMENT_VAR | pressure |
| _DVS::REMOVE_ELEMENT_FILTER | /var.value/gt/2.0//and/var.value/lt/15.4 |
Example 3
A user would like to filter out elements based on the variable "delete_element" if the value is not equal to 1.0.
| KEY | VALUE |
|---|---|
| _DVS::REMOVE_ELEMENT_VAR | delete_element |
| _DVS::REMOVE_ELEMENT_FILTER | /var.value/neq/1.0 |
DVS Part Metadata
The DVS API supports writing part metadata via dvs_add_part_info() or DVS::IClient::add_part_info() methods for the C/C++ API through the dvs_part_info::_metadata_keys and dvs_part_info::_metadata_vals. The Python API method is dvs_add_part_info and metadata is passed via the tags dictionary on an object.
Supported EnSight Part Metadata
| KEY | VALUE |
|---|---|
| _DVS::PATHNAME | Used to setup groups in the user interface. eg. My|Group would create 2 group levels (My->Group) and put the part under the "Group" group. |
| _DVS::OBJATTR | See https://nexusdemo.ensight.com/docs/python/html/Python.html?ENS_OBJATTRSchema.html |
| _DVS::KIND | Used to set part kind. eg. Inlet |
| _DVS::NO_AUTOLOAD | Set to anything to not autoload the part when EnSight loads the dataset. Part must be manually loaded. |
DVS Plot Metadata
The DVS API supports writing plot metadata via dvs_add_plot_info() or DVS::IClient::add_plot_info() methods for the C/C++ API through the dvs_plot_info::_metadata_keys and dvs_plot_info::_metadata_vals. The Python API method is dvs_add_plot_info and metadata is passed via the tags dictionary on an object.
DVS Variable Metadata
The DVS API supports writing variable metadata via dvs_add_var_info() or DVS::IClient::add_var_info() methods for the C/C++ API through the dvs_var_info::_metadata_keys and dvs_var_info::_metadata_vals. The Python API method is dvs_add_var_info and metadata is passed via the tags dictionary on an object.