### PAR_GRMVx

Obtains from a parameter a vector of values each within a given range

#### Description:

This routine obtains from a parameter up to a given number of values. Each value must be within its own range of acceptable values supplied to the routine.

This routine is particularly useful for obtaining values that apply to $n$-dimensional array where each value is constrained by the size or bounds of the array, and where the number of values need not equal $n$. For example, the size of a smoothing kernel could be defined by one value that applies to all dimensions, or as individual sizes along each dimension.

#### Invocation

CALL PAR_GRMVx( PARAM, MAXVAL, VMIN, VMAX, VALUES, ACTVAL, STATUS )

#### Arguments

##### PARAM = CHARACTER $\ast$ ( $\ast$ ) (Given)
The name of the parameter.
##### MAXVAL = INTEGER (Given)
The maximum number of values required. A PAR__ERROR status is returned when the number of values requested is less than one.
##### VMIN( MAXVAL ) = ? (Given)
The values immediately above a range wherein each obtained value cannot lie. Thus if VMAX is greater than VMIN, VMIN is the minimum allowed for the corresponding obtained value. However, should VMAX be less than VMIN, all values are acceptable except those between VMAX and VMIN exclusive.
##### VMAX( MAXVAL ) = ? (Given)
The values immediately below a range wherein each obtained value cannot lie. Thus if VMAX is greater than VMIN, VMAX is the maximum allowed for the corresponding obtained value. However, should VMAX be less than VMIN, all values are acceptable except those between VMAX and VMIN exclusive.
##### VALUES( MAXVAL ) = ? (Returned)
The values associated with the parameter. They will only be valid if STATUS is not set to an error value.
##### ACTVAL = INTEGER (Returned)
The actual number of values obtained.
##### STATUS = INTEGER (Given and Returned)
The global status.

#### Notes:

• There is a routine for each of the data types double precision, integer, and real: replace "x" in the routine name by D, I, or R respectively as appropriate. The VMIN, VMAX, and VALUES arguments must have the corresponding data type.

• Should too many values be obtained, the parameter system will repeat the get in order to obtain a permitted number of values.

• If any of the values violates the constraints, the user is informed of the constraints and prompted for another vector of values. This is not achieved through the MIN/MAX system.