Paired data is general curve data consisting of two or more arrays to define a curve or family of curves. The first array is the independent variable, or ordinate array. The second and additional arrays are the dependent variable(s) with a one-to-one correspondence to the ordinate array. For example, if you were to have a stage-damage function, the first array would contain the stage values and the second array may contain total damages; the third array residential damages, the fourth commercial and so-forth. Optional labels provide a way identifying each of the dependent variables, for example "Total", "Residential", "Commercial" in this example.


The "C" part of the pathname identifies the independent and dependent variable names. The names are separate by a dash; for example, "Stage-Flow", or "Flow-Frequency".
The "type" for each array in a paired data set determines how it should be plotted. A type of "UNT" (unitary) or LIN (linear) indicates that the axis should be linear. "LOG" indicates a logarithmic axis, "FREQ" a frequency axis, and "PROB" a probability axis. For some types, the units may also help determine the axis type.


In version 7, there is no limit to the number of ordinates or number of curves. However, memory has to be allocated for all data in a paired data set, so there is the potential for exceeding available memory. Also, there is no limit to the length of each label. Labels are passed in as a single character array with each label null terminated.
In general, separating a large family of curves into separate paired data records is preferred over storing them in a single record. Best practices limit the number of data values stored in a single record to around 5,000 to 10,000 values. It is more efficient to repeat the ordinate set, rather than have many curves in a single record.


Paired data is stored and retrieved from HEC-DSS using "PairedDataContainer" and HecPairedData objects. A PairedDataContainer is a lightweight database independent class that holds the dataset. HecPairedData is a class that retrieves and stores paired data specifically for HEC-DSS using PairedDataContainer.


By default, the independent variable (ordinates) is plotted on the Y (vertical) axis and the dependent variable on the X (horizontal) axis. You can switch the plotting axis by setting the flag switchXyAxis to "true" or by changing the setting in the plot options dialog.


For paired data conventions, the first row is row 1 and the first column is column 1 (not row 0 or column 0.) Generally the terms "ordinates and curves" are used instead of "rows and columns".