-
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:
- NhlTByte
- NhlTCharacter
- NhlTShort
- NhlTInteger
- NhlTLong
- NhlTFloat
- NhlTDouble
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