### NDF_PROP

Propagate NDF information to create a new NDF via the ADAM parameter system

#### Description:

The routine creates a new NDF data structure through the ADAM parameter system, associates it with a parameter and returns an identifier for it. The shape, data type, etc. of this new NDF are based on a existing "template" NDF, and the values of components of this template may be selectively propagated to initialise the new data structure.

#### Invocation

CALL NDF_PROP( INDF1, CLIST, PARAM, INDF2, STATUS )

#### Arguments

##### INDF1 = INTEGER (Given)
Identifier for an existing NDF (or NDF section) to act as a template.
##### CLIST = CHARACTER $\ast$ ( $\ast$ ) (Given)
A comma-separated list of the NDF components which are to be propagated to the new data structure. By default, the HISTORY, LABEL and TITLE components are propagated. All extensions are also propagated by default except for any that have had a zero value assigned to the corresponding "PXT..." tuning parameter using NDF_TUNE. See the "Component Propagation" section for further details.
##### PARAM = CHARACTER $\ast$ ( $\ast$ ) (Given)
Name of the ADAM parameter for the new NDF.
##### INDF2 = INTEGER (Returned)
Identifier for the new NDF.
##### STATUS = INTEGER (Given and Returned)
The global status.

#### Notes:

• If this routine is called with STATUS set, then a value of NDF__NOID will be returned for the INDF2 argument, although no further processing will occur. The same value will also be returned if the routine should fail for any reason. The NDF__NOID constant is defined in the include file NDF_PAR.

#### Component Propagation

• The template components whose values are to be propagated to initialise the new data structure are specified via the CLIST argument. Thus CLIST=’DATA,QUALITY’ would cause the new NDF to inherit its DATA and QUALITY values (if available) from the template structure, in addition to those propagated by default. Component propagation may be suppressed by supplying a component name with the prefix ’NO’. Thus CLIST=’DATA,NOHISTORY’ would propagate the DATA component, but suppress propagation of HISTORY. If component names appear more than once in the CLIST value, then the last occurrence takes precedence.

• Propagation of specific NDF extensions may be suppressed by using ’NOEXTENSION()’ as one of the items in the CLIST argument; a list of the extensions to be suppressed should appear between the parentheses. Thus CLIST=’AXIS,NOEXTENSION(IRAS,ASTERIX)’ would propagate the AXIS component, but suppress propagation of the IRAS and ASTERIX extensions (if present). Propagation of suppressed extensions may be re-enabled by specifying ’EXTENSION()’ in a similar manner at a later point in the CLIST value.

• An asterisk ($\ast$) may be used as a wild card to match all extension names. Thus ’NOEXTENSION($\ast$),EXTENSION(IRAS)’ may be used to indicate that only the IRAS extension should be propagated.

• Whether or not a named extension is propagated by default can be controlled via an NDF tuning parameter (see NDF_TUNE). The defaults established using NDF_TUNE can be over-ridden by specifying the extension explicitly within the CLIST parameter; e.g. ’EXTENSION(FITS)’ or ’NOEXTENSION(FITS)’ can be used to over-ride the default established by the PXTFITS tuning parameter.

• Component names in the CLIST argument may be abbreviated to 3 characters, but extension names must appear in full.