Skip to content
Gijs Molenaar edited this page Feb 13, 2014 · 4 revisions

A "null" VellSet corresponds to a constant null value. Null VellSets are represented as follows:

  • As a VellSet with no main value (perturbed values are ignored, and should not be present). This is also called a MissingValue.

  • A VellSet with a scalar 0 main value, and no perturbed values. Some examples:

  • A MeqConstant or a non-solvable MeqParm initialized with a value of 0 will always return a null VellSet.

  • A solvable MeqParm will return a "non-null" VellSet even if its current value is 0, since perturbed values are present.

  • A MeqSpigot with missing data will return ["MissingValue"]s for missing data elements. Note that it is possible to generate VellSets that effectively have a zero value, but are not considered a null. For example, if the main value is a time-freq-variable Vells filled with zeroes, it is not an true "null" VellSet even if it behaves like a null in all calculations. If this becomes a problem later on, we'd have to create some kind of "reducer" node that recognizes these situations and converts the VellSets to real "nulls".

The main difference between a "null" VellSet and a regular VellSet filled with zeroes is the treatment of flags by Function nodes. This is described in FlagManagement.

Clone this wiki locally