### NDF_NEWP

Create a new primitive NDF

#### Description:

The routine creates a new primitive NDF and returns an identifier for it. The NDF may subsequently be manipulated with the NDF_ routines.

#### Invocation

CALL NDF_NEWP( FTYPE, NDIM, UBND, PLACE, INDF, STATUS )

#### Arguments

##### FTYPE = CHARACTER $\ast$ ( $\ast$ ) (Given)
Data type of the NDF’s DATA component (e.g. ’_REAL’). Note that complex types are not permitted when creating a primitive NDF.
##### NDIM = INTEGER (Given)
Number of NDF dimensions.
##### UBND( NDIM ) = INTEGER (Given)
Upper pixel-index bounds of the NDF (the lower bound of each dimension is taken to be 1).
##### PLACE = INTEGER (Given and Returned)
An NDF placeholder (e.g. generated by the NDF_PLACE routine) which indicates the position in the data system where the new NDF will reside. The placeholder is annulled by this routine, and a value of NDF__NOPL will be returned (as defined in the include file NDF_PAR).
##### INDF = INTEGER (Returned)
Identifier for the new NDF.
##### STATUS = INTEGER (Given and Returned)
The global status.

#### Notes:

• This routine creates a "primitive" NDF, i.e. one whose array components are stored in "primitive" form by default (see SGP/38).

• The full type of the DATA component is specified via the FTYPE argument and the type of the VARIANCE component defaults to the same value. These types may be set individually with the NDF_STYPE routine if required.

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