Inheritance of properties

Inheritance governs how your new virtual variable automatically adopts properties when you create it. These are the settings you see on the pages of the variable properties dialog box1.

This is an important aspect of Echoview as some inherited properties affect ping sample data in your new variable. Refer to Inheritance and sample data below.

If you have inadvertently caused a new virtual variable to inherit incorrect properties, you can either replace the variable, or manually rectify the settings (in the properties dialog box, using the console or with a script).

1For example this list of pages in the Variable Properties dialog box.

About inheritance of properties

Conceptualizing inheritance: child and parent variables

The new variable is the child, and it inherits properties from its parent variable. Refer to Figure 1 below for an example.

You specify the parent variable in Opernad 1 in all cases, except for the Arithmetic and Towed body time offset variables, for which it is Operand 2.

When inheritance occurs

Inheritance of properties happens only once for a virtual variable, at the instant when you pass an operand into it by

  • clicking on an existing variable in the Dataflow window and dragging in a variable from the Dataflow toolbox, or
  • dragging in a variable from the Dataflow toolbox and linking another variable to it, or
  • navigating away from the Operands page of the properties dialog box for the first time after creating the virtual variable.

If you change the properties of the parent variable, or change the parent variable after running any of the above steps for the first time, the updates will not propagate to the child (refer to Inheritance and sample data below).

What properties are inherited

In general the child variable inherits all properties from the parent, only once.

Here are the exceptions or noteworthy cases.

Transducer geometry inheritance

Virtual variables inherit the transducer geometry. If multiple transducers exist in the EV file, you may alter it.

  1. Open the Calibration page of the Variable properties dialog box.
  2. In the Geometry section
    1. select the Override transducer inheritance checkbox, and
    2. choose the transducer from the drop-down menu.
  3. Click OK

Exceptions

New virtual variables do not inherit these from the parent.

  • Properties specific to an operator (e.g., matrix values from any of the convolution operators)
  • Properties from the Notes page of the Variable Properties dialog box
  • LocalCal calibrations from an ECS file (i.e., new variables inherit SourceCal)
  • Line visibilty—the visibility for new virtual lines defaults to Show on all on the Visibility page.

dB difference

Figure 1: The Fileset1: SV Q1 telegrams T1 raw variable is the parent variable, and the Q1 cleaned virtual variable is the child variable. If there are multiple operands dB difference or Q1 classified by dB difference, the parent variable is typically Operand 1 (refer to Conceptualizing inheritance: child and parent variables above).

Inheritance and sample data

Certain properties in the parent variable (e.g., the Minimum/Maximum threshold on the Data page and Calibration settings on the Calibration page) can filter or modify ping sample data for the child and subsequent variables at the point of inheritance (refer to When inheritance occurs above).

Trace through the property settings in your inheritance chain if you suspect this is affecting your data.

Inheritance of properties before Echoview 5.0

The current inhertance implementation in Echoview may not be backward compatible with EV files created with versions earlier than Echoview 5.0.

If you attempt to open such an EV file, Echoview will modify the inheritance chain to conform with the current paradigm (refer to Conceptualizing inheritance: child and parent variables above).

Furthermore, Echoview may not recognize the calibrations settings from earlier versions (refer to Transition from Echoview 4 and Transition for calibration scripting).

See also

Calibration settings for virtual variables
Creating and deleting virtual variables
About virtual variables
Operators
About the Dataflow window
About the Dataflow Toolbox
Virtual variable applications