public class VariableDS extends Variable implements VariableEnhanced, ucar.nc2.dataset.EnhanceScaleMissingUnsigned
NetcdfDataset| Modifier and Type | Class and Description |
|---|---|
static class |
VariableDS.Builder<T extends VariableDS.Builder<T>> |
defaultCoordsSizeToCache, defaultSizeToCache, permitCaching| Modifier and Type | Method and Description |
|---|---|
Array |
applyScaleOffset(Array data)
Apply scale and offset to each element of
in and return the result as a new Array, but only if
EnhanceScaleMissingUnsigned.hasScaleOffset(). |
double |
applyScaleOffset(java.lang.Number value)
Apply scale and offset to the specified value if
EnhanceScaleMissingUnsigned.hasScaleOffset(). |
static VariableDS.Builder<?> |
builder()
Get Builder for this class that allows subclassing.
|
Array |
convertMissing(Array in)
Returns a copy of
in, except that each missing value is replaced by
Double.NaN. |
java.lang.Number |
convertMissing(java.lang.Number value)
If
value is missing, return Double.NaN. |
Array |
convertUnsigned(Array in)
Performs an
unsigned conversion of each element of in and returns the
result as a new Array. |
java.lang.Number |
convertUnsigned(java.lang.Number value)
Convert
value to the next largest integral data type by an unsigned conversion. |
java.lang.Number |
convertUnsigned(java.lang.Number value,
DataType dataType) |
boolean |
fillValueIsMissing() |
com.google.common.collect.ImmutableList<CoordinateSystem> |
getCoordinateSystems()
Get the list of Coordinate Systems for this Variable.
|
java.lang.String |
getDatasetLocation()
The location of the dataset this belongs to.
|
java.lang.String |
getDescription()
Get the description of the Variable.
|
java.util.Set<NetcdfDataset.Enhance> |
getEnhanceMode()
Returns the enhancements applied to this variable.
|
double |
getFillValue()
return value of _FillValue attribute
|
Array |
getMissingDataArray(int[] shape)
Return Array with missing data
|
double[] |
getMissingValues()
return values of missing_value attributes
|
NetcdfFile |
getNetcdfFile()
Get the NetcdfFile that this variable is contained in.
|
double |
getOffset()
The number to be added to the data after it is read.
|
DataType |
getOriginalDataType()
When this wraps another Variable, get the original Variable's DataType.
|
java.lang.String |
getOriginalName()
When this wraps another Variable, get the original Variable's name.
|
Variable |
getOriginalVariable()
A VariableDS usually wraps another Variable.
|
DataType |
getScaledOffsetType()
Return the data type for values that have undergone scale/offset conversion.
|
double |
getScaleFactor()
The data are to be multiplied by this value after the data are read.
|
DataType.Signedness |
getSignedness()
Returns the signedness of the decorated variable.
|
java.lang.String |
getUnitsString()
Get the Unit String for the Variable.
|
DataType |
getUnsignedConversionType()
Return the data type for values that have undergone unsigned conversion.
|
double |
getValidMax()
return the maximum value in the valid range
|
double |
getValidMin()
return the minimum value in the valid range
|
boolean |
hasFillValue()
true if Variable has _FillValue attribute
|
boolean |
hasMissing()
true if Variable has missing data values
|
boolean |
hasMissingValue()
true if Variable has missing_value attribute
|
boolean |
hasScaleOffset()
true if Variable data will be converted using scale and offset
|
boolean |
hasValidData()
true if Variable has valid_range, valid_min or valid_max attributes
|
boolean |
invalidDataIsMissing() |
boolean |
isFillValue(double val)
return true if val equals the _FillValue
|
boolean |
isInvalidData(double val)
return true if val is outside the valid range
|
boolean |
isMissing(double val)
Returns
true if the argument is a missing value. |
boolean |
isMissingValue(double val)
return true if val equals a missing_value (low-level)
|
java.lang.String |
lookupEnumString(int val)
Lookup the enum string for this value.
|
boolean |
missingDataIsMissing() |
long |
readToStream(Section section,
java.io.OutputStream out)
Read variable data to a stream.
|
Array |
reallyRead(Variable client,
CancelTask cancelTask)
public by accident, do not call directly.
|
Array |
reallyRead(Variable client,
Section section,
CancelTask cancelTask)
public by accident, do not call directly.
|
void |
showScaleMissingProxy(java.util.Formatter f)
public for debugging
|
VariableDS.Builder<?> |
toBuilder()
Turn into a mutable Builder.
|
java.lang.String |
toStringDebug()
String representation of Variable and its attributes.
|
attributes, compareTo, createNewCache, equals, findAttribute, findAttributeString, findDimensionIndex, getDataType, getDimension, getDimensions, getDimensionsString, getElementSize, getEnumTypedef, getFileTypeId, getFullName, getNameAndDimensions, getNameAndDimensions, getNameAndDimensions, getParentGroup, getParentStructure, getRanges, getRank, getShape, getShape, getShapeAsSection, getSize, getSizeToCache, getSPobject, hasCachedData, hashCode, isCaching, isCoordinateVariable, isMemberOfStructure, isMetadata, isScalar, isUnlimited, isVariableLength, read, read, read, read, read, readScalarByte, readScalarDouble, readScalarFloat, readScalarInt, readScalarLong, readScalarShort, readScalarString, reduce, section, section, slice, toStringgetFullName, getShortNameaddCoordinateSystem, removeCoordinateSystemgetShortNamefilter, findAttributeDouble, findAttributeIgnoreCase, findAttributeInteger, getName, hasAttribute, hasAttributeIgnoreCase, isEmpty, iteratorpublic Array applyScaleOffset(Array data)
EnhanceScaleMissingUnsignedin and return the result as a new Array, but only if
EnhanceScaleMissingUnsigned.hasScaleOffset(). Otherwise, just return value. Otherwise, just return data.applyScaleOffset in interface ucar.nc2.dataset.EnhanceScaleMissingUnsigneddata - convert thispublic double applyScaleOffset(java.lang.Number value)
EnhanceScaleMissingUnsignedEnhanceScaleMissingUnsigned.hasScaleOffset(). Otherwise, just return value.applyScaleOffset in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic static VariableDS.Builder<?> builder()
public Array convertMissing(Array in)
EnhanceScaleMissingUnsignedin, except that each missing value is replaced by
Double.NaN.convertMissing in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedin - an array containing floating-point numbers to convert.in.public java.lang.Number convertMissing(java.lang.Number value)
EnhanceScaleMissingUnsignedvalue is missing, return Double.NaN.
Otherwise, simply return valueconvertMissing in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic Array convertUnsigned(Array in)
EnhanceScaleMissingUnsignedunsigned conversion of each element of in and returns the
result as a new Array. The data type of the returned array will be EnhanceScaleMissingUnsigned.getUnsignedConversionType().convertUnsigned in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedin - an Array containing integral Numbers to convert.in.public java.lang.Number convertUnsigned(java.lang.Number value)
EnhanceScaleMissingUnsignedvalue to the next largest integral data type by an unsigned conversion. The conversion only happens if the decorated variable is unsigned
and value is a negative integer. Otherwise, simply return value.convertUnsigned in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedvalue - an integral number to convert.value.public java.lang.Number convertUnsigned(java.lang.Number value,
DataType dataType)
public boolean fillValueIsMissing()
public com.google.common.collect.ImmutableList<CoordinateSystem> getCoordinateSystems()
EnhancementsgetCoordinateSystems in interface ucar.nc2.dataset.Enhancementspublic java.lang.String getDatasetLocation()
VariablegetDatasetLocation in class Variablepublic java.lang.String getDescription()
VariablegetDescription in interface ucar.nc2.dataset.EnhancementsgetDescription in interface VariableSimpleIFgetDescription in class Variablepublic java.util.Set<NetcdfDataset.Enhance> getEnhanceMode()
public double getFillValue()
EnhanceScaleMissingUnsignedgetFillValue in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic Array getMissingDataArray(int[] shape)
shape - of this shapepublic double[] getMissingValues()
EnhanceScaleMissingUnsignedgetMissingValues in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic NetcdfFile getNetcdfFile()
VariablegetNetcdfFile in class Variablepublic double getOffset()
EnhanceScaleMissingUnsignedCDM.SCALE_FACTOR and
CDM.ADD_OFFSET attributes are present, the data are first scaled before the offset is
added. By default it is 0.0, i.e. no offset. It will remain that value if the variable defines no
CDM.SCALE_FACTOR attribute.getOffset in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic DataType getOriginalDataType()
public java.lang.String getOriginalName()
getOriginalName in interface VariableEnhancedpublic Variable getOriginalVariable()
getOriginalVariable in interface VariableEnhanced@Nullable public DataType getScaledOffsetType()
EnhanceScaleMissingUnsignednull if the
decorated variable lacks scale_factor or add_offset attributes. You can check with
EnhanceScaleMissingUnsigned.hasScaleOffset().getScaledOffsetType in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic double getScaleFactor()
EnhanceScaleMissingUnsigned1.0, i.e. no
scaling. It will remain that value if the variable defines no CDM.SCALE_FACTOR
attribute.getScaleFactor in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic DataType.Signedness getSignedness()
EnhanceScaleMissingUnsignedgetSignedness in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic java.lang.String getUnitsString()
VariablegetUnitsString in interface ucar.nc2.dataset.EnhancementsgetUnitsString in interface VariableSimpleIFgetUnitsString in class Variablepublic DataType getUnsignedConversionType()
EnhanceScaleMissingUnsignednull, even
when no unsigned conversion is necessary (because the underlying variable isn't unsigned). In such cases, this
data type will be the same as that of the underlying variable.getUnsignedConversionType in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic double getValidMax()
EnhanceScaleMissingUnsignedgetValidMax in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic double getValidMin()
EnhanceScaleMissingUnsignedgetValidMin in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic boolean hasFillValue()
EnhanceScaleMissingUnsignedhasFillValue in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic boolean hasMissing()
EnhanceScaleMissingUnsignedhasMissing in interface IsMissingEvaluatorhasMissing in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic boolean hasMissingValue()
EnhanceScaleMissingUnsignedhasMissingValue in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic boolean hasScaleOffset()
EnhanceScaleMissingUnsignedhasScaleOffset in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic boolean hasValidData()
EnhanceScaleMissingUnsignedhasValidData in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic boolean invalidDataIsMissing()
public boolean isFillValue(double val)
EnhanceScaleMissingUnsignedisFillValue in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic boolean isInvalidData(double val)
EnhanceScaleMissingUnsignedisInvalidData in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic boolean isMissing(double val)
EnhanceScaleMissingUnsignedtrue if the argument is a missing value.
Note that Float.NaN and Double.NaN are considered missing data.isMissing in interface IsMissingEvaluatorisMissing in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedval - an unpacked value.true if the argument is a missing value.public boolean isMissingValue(double val)
EnhanceScaleMissingUnsignedisMissingValue in interface ucar.nc2.dataset.EnhanceScaleMissingUnsignedpublic java.lang.String lookupEnumString(int val)
VariablelookupEnumString in class Variableval - the integer value of this enumpublic boolean missingDataIsMissing()
public long readToStream(Section section, java.io.OutputStream out) throws java.io.IOException, InvalidRangeException
VariablereadToStream in class Variablejava.io.IOExceptionInvalidRangeExceptionpublic Array reallyRead(Variable client, CancelTask cancelTask) throws java.io.IOException
VariablereallyRead in interface ProxyReaderreallyRead in class Variableclient - the client VariablecancelTask - user may canceljava.io.IOException - on errorpublic Array reallyRead(Variable client, Section section, CancelTask cancelTask) throws java.io.IOException, InvalidRangeException
VariablereallyRead in interface ProxyReaderreallyRead in class Variableclient - the client Variablesection - the section of data to read.cancelTask - user may canceljava.io.IOException - on errorInvalidRangeException - if section has incorrect rank or illegal shape.public void showScaleMissingProxy(java.util.Formatter f)
f - put info herepublic VariableDS.Builder<?> toBuilder()
Variablepublic java.lang.String toStringDebug()
VariabletoStringDebug in class Variable