ScalarField class resource descriptions

sfDataArray
This resource specifies a two-dimensional array containing the data comprising a scalar field. There is no default for this resource, and it must be specified in order to create a ScalarField object without error. The fastest varying dimension (second dimension in C, first dimension in Fortran) is assumed to align with the X or horizontal axis of a rectangular coordinate system. However, you may exchange the dimensions of the array by appropriately setting the resource, sfExchangedimensions. Although the ScalarField object always converts the data into type NhlTFloat before passing it along to ScalarField receivers (currently just the ContourPlot object), it accepts data arrays containing data of any of the following types: You may set sfDataArray arrays of type NhlTFloat using NhlRLSetMDFloatArray and of type NhlTInteger using NhlRLSetMDIntegerArray. The other types must be set using NhlRLSetMDArray.

Default: NULL

sfXArray
The ScalarField object dynamically determines whether the data array is to be treated as a rectangular array irregularly spaced along the X axis by the presence of this array resource. If sfXArray is NULL, the data is treated as regularly spaced along the X Axis. If you set sfXArray to a non-NULL value, ScalarField checks to ensure first that it has the same number of elements as the X-axis dimension of the data array and second that it is monotonically increasing or descreasing. If the sfXArray resource fails either of these tests, the data array is treated as if it were regularly spaced along the X-Axis. Otherwise, ScalarField accepts the values of sfXArray as sequentially representing the location along the X-Axis of each successive column in the data array. You can specify sfXArray using a single-dimensioned array of any of the types allowed by sfDataArray. This implies that the first element of the sfXArray specifies the location in data coordinates of the first column of the data grid, and the last element specifies the location of the last column.

V4.0 Status Note 1

Default: NULL

sfYArray
The ScalarField object dynamically determines whether the data array is to be treated as a rectangular array irregularly spaced along the Y axis by the presence of this array resource. If sfYArray is NULL, the data is treated as regularly spaced along the Y Axis. If you set sfYArray to a non-NULL value, ScalarField checks to ensure first that it has the same number of elements as the Y-axis dimension of the data array and second that it is monotonically increasing or descreasing. If the sfYArray resource fails either of these tests, the data array is treated as if it were regularly spaced along the Y-Axis. Otherwise, ScalarField accepts the values of sfYArray as sequentially representing the location along the Y-Axis of each successive row in the data array. You can specify sfYArray using a single-dimensioned array of any of the types allowed by sfDataArray. This implies that the first element of the sfYArray specifies the location in data coordinates of the first row of the data grid, and the last element specifies the location of the last row.

V4.0 Status Note 1

Default: NULL

sfSubsetByIndex
The ScalarField object allows you to pass only a rectangular subset of the data array to the plot object receiver. If the boolean resource sfSubsetByIndex is set True, then you specify the subset based on the data array's indexes. Specify the indexes using the resources sfXCStartIndex, sfXCEndIndex, sfYCStartIndex, and sfYCEndIndex. If sfSubsetByIndex is False, subsets are specified in terms of the data extents. In this case you would use the resources sfXCStartSubsetV, sfXCEndSubsetV, sfYCStartSubsetV, and sfYCEndSubsetV to specify a subset of the data.

Default: False

sfCopyData
The boolean resource sfCopyData allows you to control whether the ScalarField object always copies the elements of the sfDataArray into a private memory area. If you set sfCopyData False, ScalarField will not copy the sfXArray or the sfYArray data and will try to avoid making a copy of the sfDataArray data. You are then responsible for ensuring that the data memory locations for these arrays are preserved intact for the lifetime of the ScalarField. In return, you may save dynamic memory space. Note that a number of circumstances require ScalarField to copy the data regardless. These include supplying data of any type other than NhlTFloat, requesting that the data dimensions be exchanged, or setting a stride value greater than 1 in either the X or the Y dimension. Also, if a subset of an array irregular in either dimension is specified, the subsetted portion of the array must be copied.

Default: True

sfExchangeDimensions
When this boolean resource is set True, ScalarField exchanges the dimensions of the data array. Rows become columns and columns become rows; the fast varying dimension becomes the slow varying dimension and vice-versa. Whenever sfExchangeDimensions is True, ScalarField must copy the data array, regardless of the setting of the sfCopyData resource.

Default: False

sfMissingValueV
If you set sfMissingValueV to a non-NULL value, ScalarField treats occurences of its value in the data array as representing an undefined value. If left unset, ScalarField assumes that all values in the data array are valid. You may set sfMissingValueV using any of the data types ScalarField accepts for the mpDataArray resource.

Default: NULL

sfDataMinV
By default the ScalarField object sets sfDataMinV to the smallest value in the data array. However, if you set the value of this resource, ScalarField does not process the array to find the minimum value. Instead it assumes that the set value is, in fact, the minimum value. You may set sfDataMinV using any of the data types ScalarField accepts for the mpDataArray resource.

Default: <Dynamic>

sfDataMaxV
By default the ScalarField object sets sfDataMaxV to the largest value in the data array. However, if you set the value of this resource, ScalarField does not process the array to find the maximum value. Instead it assumes that the set value is, in fact, the maximum value. You may set sfDataMaxV using any of the data types ScalarField accepts for the mpDataArray resource.

Default: <Dynamic>

sfXCStartV
If the array resource sfXArray is set and found to be valid, ScalarField ignores the sfXCStartV resource, since it determines the starting data location based on the value of the first element of sfXArray. Otherwise, sfXCStartV specifies the location along the X Axis of the first column of the data. If sfXCStartV is greater than sfXCEndV, the direction of the data locations along the X Axis is opposite the direction of the positive X Axis. If sfXCStartV is unspecified, ScalarField sets the starting data location using the value of sfXCSubsetStartV, if set, in place of sfXCStartV, or to the value 0.0 otherwise. You may set sfXCStartV using any of the data types ScalarField accepts for the mpDataArray resource.

Default: <Dynamic>

sfXCEndV
If the array resource sfXArray is set and found to be valid, ScalarField ignores the sfXCEndV resource, since it determines the ending data location based on the value of the last element of sfXArray. Otherwise, sfXCEndV specifies the location along the X Axis of the last column of the data. If sfXCStartV is greater than sfXCEndV, the direction of the data locations along the X Axis is opposite the direction of the positive X Axis. If sfXCEndV is unspecified, ScalarField sets the ending data location using the value of sfXCSubsetEndV, if set, in place of sfXCEndV, or to the size of the X-Axis data array dimension minus one otherwise. You may set sfXCEndV using any of the data types ScalarField accepts for the mpDataArray resource.

Default: <Dynamic>

sfYCStartV
If the array resource sfYArray is set and found to be valid, ScalarField ignores the sfYCStartV resource, since it determines the starting data location based on the value of the first element of sfYArray. Otherwise, sfYCStartV specifies the location along the Y Axis of the first row of the data. If sfYCStartV is greater than sfYCEndV, the direction of the data locations along the Y Axis is opposite the direction of the positive Y Axis. If sfXCStartV is unspecified, ScalarField sets the starting data location using the value of sfYCSubsetStartV, if set, in place of sfYCStartV, or to the value 0.0 otherwise. You may set sfYCStartV using any of the data types ScalarField accepts for the mpDataArray resource.

Default: <Dynamic>

sfYCEndV
If the array resource sfYArray is set and found to be valid, ScalarField ignores the sfYCEndV resource, since it determines the ending data location based on the value of the last element of sfYArray. Otherwise, sfYCEndV specifies the location along the Y Axis of the last row of the data. If sfYCStartV is greater than sfYCEndV, the direction of the data locations along the Y Axis is opposite the direction of the positive Y Axis. If sfYCEndV is unspecified, ScalarField sets the ending data location using the value of sfYCSubsetEndV, if set, in place of sfYCEndV, or to the size of the Y-Axis data array dimension minus one otherwise. You may set sfYCEndV using any of the data types ScalarField accepts for the mpDataArray resource.

Default: <Dynamic>

sfXCStartSubsetV
If the boolean resource sfSubsetByIndex is False, sfXCStartSubsetV, when set, specifies the starting location along the X-Axis of a rectagular sub-array of the data array. sfXCStartSubsetV applies both to regular and irregular coordinate grids. If the direction of the data grid implied by the magnitude of sfXCStartSubsetV relative to sfXCEndSubsetV is opposite the direction established by sfXCStartV and sfXCEndV or the first and last elements of sfXArray, ScalarField issues a warning and proceeds as if neither sfXCStartSubsetV nor sfXCEndSubsetV had been set. Otherwise, if the value of sfXCStartSubsetV is outside the range of the data coordinates, it is quietly ignored.

Since the data array grid consists of data located at discrete points, the location specified by sfXCStartSubsetV will likely fall in between two data locations. In this case, ScalarField selects a beginning index for the array subset such that the requested location is included within the subset. Thus the subset array, as delivered to the receiving plot object, may represent a slightly larger area of the data coordinate space than requested. Note that if the grid is irregularly spaced along either the X or the Y Axes, ScalarField must copy the subsetted portion of the data array, regardless of the setting of the sfCopyData resource. You may set sfXCSubsetStartV using any of the data types ScalarField accepts for the mpDataArray resource.

Default: <Dynamic>

sfXCEndSubsetV
If the boolean resource sfSubsetByIndex is False, sfXCEndSubsetV, when set, specifies the ending location along the X-Axis of a rectagular sub-array of the data array. sfXCEndSubsetV applies both to regular and irregular coordinate grids. If the direction of the data grid implied by the magnitude of sfXCEndSubsetV relative to sfXCStartSubsetV is opposite the direction established by sfXCStartV and sfXCEndV or the first and last elements of sfXArray, ScalarField issues a warning and proceeds as if neither sfXCStartSubsetV nor sfXCEndSubsetV had been set. Otherwise, if the value of sfXCEndSubsetV is outside the range of the data coordinates, it is quietly ignored.

Since the data array grid consists of data located at discrete points, the location specified by sfXCEndSubsetV will likely fall in between two data locations. In this case, ScalarField selects an ending index for the array subset such that the requested location is included within the subset. Thus the subset array, as delivered to the receiving plot object, may represent a slightly larger area of the data coordinate space than requested. Note that if the grid is irregularly spaced along either the X or the Y Axes, ScalarField must copy the subsetted portion of the data array, regardless of the setting of the sfCopyData resource. You may set sfXCEndSubsetV using any of the data types ScalarField accepts for the mpDataArray resource.

Default: <Dynamic>

sfYCStartSubsetV
If the boolean resource sfSubsetByIndex is False, sfYCStartSubsetV, when set, specifies the starting location along the Y-Axis of a rectagular sub-array of the data array. sfYCStartSubsetV applies both to regular and irregular coordinate grids. If the direction of the data grid implied by the magnitude of sfYCStartSubsetV relative to sfYCEndSubsetV is opposite the direction established by sfYCStartV and sfYCEndV or the first and last elements of sfYArray, ScalarField issues a warning and proceeds as if neither sfYCStartSubsetV nor sfYCEndSubsetV had been set. Otherwise, if the value of sfYCStartSubsetV is outside the range of the data coordinates, it is quietly ignored.

Since the data array grid consists of data located at discrete points, the location specified by sfYCStartSubsetV will likely fall in between two data locations. In this case, ScalarField selects a beginning index for the array subset such that the requested location is included within the subset. Thus the subset array, as delivered to the receiving plot object, may represent a slightly larger area of the data coordinate space than requested. Note that if the grid is irregularly spaced along either the X or the Y Axes, ScalarField must copy the subsetted portion of the data array, regardless of the setting of the sfCopyData resource. You may set sfYCStartSubsetV using any of the data types ScalarField accepts for the mpDataArray resource.

Default: <Dynamic>

sfYCEndSubsetV
If the boolean resource sfSubsetByIndex is False, sfYCEndSubsetV, when set, specifies the ending location along the Y-Axis of a rectagular sub-array of the data array. sfYCEndSubsetV applies both to regular and irregular coordinate grids. If the direction of the data grid implied by the magnitude of sfYCEndSubsetV relative to sfYCStartSubsetV is opposite the direction established by sfYCStartV and sfYCEndV or the first and last elements of sfYArray, ScalarField issues a warning and proceeds as if neither sfYCStartSubsetV nor sfYCEndSubsetV had been set. Otherwise, if the value of sfYCEndSubsetV is outside the range of the data coordinates, it is quietly ignored.

Since the data array grid consists of data located at discrete points, the location specified by sfYCEndSubsetV will likely fall in between two data locations. In this case, ScalarField selects an ending index for the array subset such that the requested location is included within the subset. Thus the subset array, as delivered to the receiving plot object, may represent a slightly larger area of the data coordinate space than requested. Note that if the grid is irregularly spaced along either the X or the Y Axes, ScalarField must copy the subsetted portion of the data array, regardless of the setting of the sfCopyData resource. You may set sfYCEndSubsetV using any of the data types ScalarField accepts for the mpDataArray resource.

Default: <Dynamic>

sfXCStartIndex
If the boolean resource sfSubsetByIndex is True, sfXCStartIndex, when set, specifies the smaller index along the X-Axis dimension that bounds a rectagular sub-array of the data array. sfXCStartIndex applies both to regular and irregular coordinate grids. Note that if the grid is irregularly spaced along either the X or the Y Axes, ScalarField must copy the subsetted portion of the data array, regardless of the setting of the sfCopyData resource. The specification of sfStartIndex follows C-language conventions: the first index is 0 and the last is the size of the dimension minus 1.

V4.0 NOTE: Range checking for this resource is currently inadaequate.

Default: <Dynamic>

sfXCEndIndex
If the boolean resource sfSubsetByIndex is True, sfXCEndIndex, when set, specifies the larger index along the X-Axis dimension that bounds a rectagular sub-array of the data array. sfXCEndIndex applies both to regular and irregular coordinate grids. This is true regardless of the direction of the data coordinate X-Axis. Note that if the grid is irregularly spaced along either the X or the Y Axes, ScalarField must copy the subsetted portion of the data array, regardless of the setting of the sfCopyData resource. The specification of sfEndIndex follows C-language conventions: the first index is 0 and the last is the size of the dimension minus 1.

V4.0 NOTE: Range checking for this resource is currently inadaequate.

Default: <Dynamic>

sfYCStartIndex
If the boolean resource sfSubsetByIndex is True, sfYCStartIndex, when set, specifies the smaller index along the Y-Axis dimension that bounds a rectagular sub-array of the data array. sfYCStartIndex applies both to regular and irregular coordinate grids. This is true regardless of the direction of the data coordinate Y-Axis. Note that if the grid is irregularly spaced along either the X or the Y Axes, ScalarField must copy the subsetted portion of the data array, regardless of the setting of the sfCopyData resource. The specification of sfEndIndex follows C-language conventions: the first index is 0 and the last is the size of the dimension minus 1.

V4.0 NOTE: Range checking for this resource is currently inadaequate.

Default: <Dynamic>

sfYCEndIndex
If the boolean resource sfSubsetByIndex is True, sfYCEndIndex, when set, specifies the larger index along the Y-Axis dimension that bounds a rectagular sub-array of the data array. sfYCEndIndex applies both to regular and irregular coordinate grids. This is true regardless of the direction of the data coordinate Y-Axis. Note that if the grid is irregularly spaced along either the Y or the Y Axes, ScalarField must copy the subsetted portion of the data array, regardless of the setting of the sfCopyData resource. The specification of sfEndIndex follows C-language conventions: the first index is 0 and the last is the size of the dimension minus 1.

V4.0 NOTE: Range checking for this resource is currently inadaequate. ...description to be added...

Default: <Dynamic>

sfXCStride
When sfXCStride has a value greater than one, the ScalarField object creates a new array containing only columns indexed along the X dimension by successive multiples (starting with 0) of the sfXCStride value added to the starting index. The starting index is based on the current state of the applicable subsetting resources; it is 0 if no array subsetting is in effect. The resulting array is passed to the receiving plot object.

V4.0 NOTE: Range checking for this resource is currently inadaequate.

Default: 1

sfYCStride
When sfYCStride has a value greater than one, the ScalarField object creates a new array containing only rows indexed along the Y dimension by successive multiples (starting with 0) of the sfYCStride value added to the starting index. The starting index is based on the current state of the applicable subsetting resources; it is 0 if no array subsetting in effect. The resulting array is passed to the receiving plot object.

V4.0 NOTE: Range checking for this resource is currently inadaequate.

Default: 1


Reference Manual Control Panel

NG4 Home, Index, Examples, Glossary, Feedback, Ref Contents, Ref WhereAmI?


$Revision: 1.9 $ $Date: 1995/07/26 23:30:28 $