Binary data (and its processing history) is normally described by a Dictionary. If the Dictionary exists, it is normally input using the "in" alias name in either of these ways:

in= dictionary
in= /dev/rst0b
in= stdin:

The Dictionary should define the data format with "format=" and the data path to the binary with "data=". If these are missing or incorrect, then the user must provide a hint by defining "in_format=" and "in_data=" to override what may be in the Dictionary.

The input data can be taken directly from a tape device by specifying its "device name" such as "/dev/rst0b" (see Devices for more detail). This can also be specified for "in_data".

The input data can also come from a pipe by specifying "stdin:". This can also be specified for "in_data".

If no input dataset is defined, then the application may either treat it as an optional input; give it some default (eg. "stdin:"); or treat it as an error.

Input Standard Format Binary:

Sometimes an input Dictionary does not exist for the binary data. This is typical when the data was created by a non-DDS (usp, segy, segy1, su) application. In this case, "in_format" and "in_data" must be defined to read in the binary-only data of a Standard Format dataset. For example:

in_format=usp
in_data=line2.usp

Because DDS has auto-detection capability, a Standard Format binary can be input directly via the "alias" name in place of a Dictionary. In this case the format does not need to be specified. For example in the above case, simply specify:

in=line2.usp

Piping:

If the dataset is piped into an application (eg. via "<" or "|") then instead of specifying a filename, specify:

in= stdin:

If the input is defaulted to "stdin:", it is ignored if standard input is connected to a terminal or if "par:" defines "format" or "in_format". This allows "stdin:" to be used for binary data, when piping from non-DDS applications.

When piping in Standard Format binaries you can either use:

in_format=segy
in_data=stdin:

or better and simpler,

in=stdin:

Hint: Avoid using shell "< file" redirection. Neither the application nor processing history can see the actual filename used by the Shell. It is better to define "in=" or "in_data=" instead. This hint also applies to output redirection. Shell pipes ("|") introduce the same uncertainty, but it can not be easily avoided.