Package ucar.nc2
Class Variable
java.lang.Object
ucar.nc2.CDMNode
ucar.nc2.Variable
- All Implemented Interfaces:
Comparable<VariableSimpleIF>,Iterable<Attribute>,AttributeContainer,ProxyReader,VariableSimpleIF
- Direct Known Subclasses:
Structure,VariableDS
A Variable is a logical container for data. It has a dataType, a set of Dimensions that define its array shape,
and optionally a set of Attributes.
The data is a multidimensional array of primitive types, Strings, or Structures.
Data access is done through the read() methods, which return a memory resident Array.
Immutable if setImmutable() was called. TODO Variable will be immutable in 6. TODO Variable will not implement AttributeContainer in 6, use Variable.attributes(). TODO Variable will not extend CDMNode in 6.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classVariable.Builder<T extends Variable.Builder<T>>A builder for Variables. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic intstatic intstatic booleanGlobally permit or prohibit caching. -
Constructor Summary
ConstructorsConstructorDescriptionVariable(NetcdfFile ncfile, Group group, Structure parent, String shortName) Deprecated.Use Variable.builder()Variable(NetcdfFile ncfile, Group group, Structure parent, String shortName, DataType dtype, String dims) Deprecated.Use Variable.builder()Variable(NetcdfFile ncfile, Group group, Structure parent, String shortName, DataType dtype, List<Dimension> dims) Deprecated.Use Variable.builder()Deprecated.Use Variable.builder() -
Method Summary
Modifier and TypeMethodDescriptionvoidDeprecated.Use Variable.builder()addAttribute(Attribute att) Deprecated.Use Variable.builder()The attributes contained by this Variable.static Variable.Builder<?>builder()Get Builder for this class that allows subclassing.intSort by namevoidCreate a new data cache, use this when you dont want to share the cache.booleanInstances which have same content are equal.findAttribute(String name) Find the attribute by name, return null if not existdoublefindAttributeDouble(String attName, double defaultValue) Deprecated.Use attributes()Deprecated.Use attributes()intfindAttributeInteger(String attName, int defaultValue) Deprecated.Use attributes()findAttributeString(String attName, String defaultValue) Find a String-valued Attribute by name (ignore case), return the String value of the Attribute.intfindDimensionIndex(String name) Find the index of the named Dimension in this Variable.Deprecated.Use attributes()static StringgetDAPName(String name, Variable context) Deprecated.Will be moved to opendap package in 6.static StringDeprecated.Will be moved to opendap package in 6.The location of the dataset this belongs to.Get the data type of the Variable.Get the description of the Variable.getDimension(int i) Get the ith dimension.com.google.common.collect.ImmutableList<Dimension>Get the list of dimensions used by this variable.Deprecated.use Dimensions.makeDimensionsAll(Variable);Get the list of Dimension names, space delineated.intGet the number of bytes for one element of this Variable.Get the EnumTypedef, only use if getDataType.isEnum()Get the full name of this Variable.Get the display name plus the dimensions, eg 'float name(dim1, dim2)'getNameAndDimensions(boolean strict) Get the display name plus the dimensions, eg 'float name(dim1, dim2)'voidDeprecated.use getNameAndDimensions(StringBuilder buf)voidDeprecated.use CDLWritervoidgetNameAndDimensions(StringBuilder buf, boolean useFullName, boolean strict) Deprecated.use CDLWritervoidgetNameAndDimensions(Formatter buf, boolean useFullName, boolean strict) Add display name plus the dimensions to the FormatterGet the NetcdfFile that this variable is contained in.Get its containing Group.Deprecated.Will go away in ver6, shouldn't be needed when builders are used.Get its parent structure, or null if not in structure Not deprecated.Deprecated.Use Variable.builder()com.google.common.collect.ImmutableList<Range>Get shape as a List of Range objects.intgetRank()Get the number of dimensions of the Variable, aka the rank.int[]getShape()Get the shape: length of Variable in each dimension.intgetShape(int index) Get the size of the ith dimensionint[]Deprecated.use Dimensions.makeDimensionsAll(Variable);Get shape as a Section object.longgetSize()Get the total number of elements in the Variable.intIf total data size is less than SizeToCache in bytes, then cache.Get immutable service provider opaque object.Get the Unit String for the Variable.booleanHas data been read and cached.inthashCode()Override Object.hashCode() to implement equals.voidDeprecated.Use Variable.builder()booleanWill this Variable be cached when read.booleanCalculate if this is a classic coordinate variable: has same name as its first dimension.booleanisEmpty()Deprecated.Use attributes()booleanDeprecated.Use Variable.builder()booleanTest for presence of parent Structure.booleanIs this variable metadata?.booleanisScalar()Whether this is a scalar Variable (rank == 0).booleanDeprecated.use isVariableLength()booleanCan this variable's size grow?.booleanDoes this variable have a variable length dimension? If so, it has as one of its dimensions Dimension.VLEN.lookupEnumString(int val) Lookup the enum string for this value.read()Read all the data for this Variable and return a memory resident Array.read(int[] origin, int[] shape) Read a section of the data for this Variable and return a memory resident Array.Read data section specified by a "section selector", and return a memory resident Array.Read a section of the data for this Variable from the netcdf file and return a memory resident Array.Read a section of the data for this Variable from the netcdf file and return a memory resident Array.byteGet the value as a byte for a scalar Variable.doubleGet the value as a double for a scalar Variable.floatGet the value as a float for a scalar Variable.intGet the value as a int for a scalar Variable.longGet the value as a long for a scalar Variable.shortGet the value as a short for a scalar Variable.Get the value as a String for a scalar Variable.longreadToByteChannel(Section section, WritableByteChannel wbc) Deprecated.do not uselongreadToStream(Section section, OutputStream out) Read variable data to a stream.reallyRead(Variable client, Section section, CancelTask cancelTask) public by accident, do not call directly.reallyRead(Variable client, CancelTask cancelTask) public by accident, do not call directly.Create a new Variable that is a logical view of this Variable, by eliminating the specified dimension(s) of length 1.booleanDeprecated.Use Variable.builder()booleanremoveAttribute(String attName) Deprecated.Use Variable.builder()booleanremoveAttributeIgnoreCase(String attName) Deprecated.Use Variable.builder()voidDeprecated.Use Variable.builder()voidDeprecated.Use Variable.builder()Create a new Variable that is a logical subsection of this Variable.Create a new Variable that is a logical subsection of this Variable.voidsetCachedData(Array cacheData) Deprecated.Use Variable.builder()voidsetCachedData(Array cacheData, boolean isMetadata) Deprecated.Use Variable.builder()voidsetCaching(boolean caching) Deprecated.Use Variable.builder()voidsetDataType(DataType dataType) Deprecated.Use Variable.builder()voidsetDimension(int idx, Dimension dim) Deprecated.Use Variable.builder()voidsetDimensions(String dimString) Deprecated.Use Variable.builder()voidsetDimensions(List<Dimension> dims) Deprecated.Use Variable.builder()voidsetDimensionsAnonymous(int[] shape) Deprecated.Use Variable.builder()voidsetElementSize(int elementSize) Deprecated.Use Variable.builder()voidsetEnumTypedef(EnumTypedef enumTypedef) Deprecated.Use Variable.builder()Deprecated.Use Variable.builder()voidDeprecated.Use Variable.builder()Deprecated.Use Variable.builder()voidsetParentGroup(Group group) Deprecated.Use Variable.builder()voidsetProxyReader(ProxyReader proxyReader) Deprecated.Use Variable.builder()voidsetSizeToCache(int sizeToCache) Deprecated.Use Variable.builder()voidsetSPobject(Object spiObject) Deprecated.Do not use.voidsetValues(int npts, double start, double incr) Deprecated.Use Variable.builder()voidDeprecated.Use Variable.builder()slice(int dim, int value) Create a new Variable that is a logical slice of this Variable, by fixing the specified dimension at the specified index value.Turn into a mutable Builder.toString()String representation of Variable and its attributes.writeCDL(boolean useFullName, boolean strict) Deprecated.use CDLWriterMethods inherited from class ucar.nc2.CDMNode
annotate, annotation, getDODSName, getFullNameEscaped, getGroup, getImmutable, getName, getShortName, getSort, localhash, setDODSName, setParentStructure, setShortName, setSort, unwrapMethods inherited from interface ucar.nc2.AttributeContainer
findAttValueIgnoreCase, getName, hasAttribute, hasAttributeIgnoreCase, iteratorMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface ucar.nc2.VariableSimpleIF
getName, getShortName
-
Field Details
-
permitCaching
public static boolean permitCachingGlobally permit or prohibit caching. For use during testing and debugging.A
truevalue for this field does not indicate whether a Variableis caching, only that it's permitted to cache. -
defaultSizeToCache
public static int defaultSizeToCache -
defaultCoordsSizeToCache
public static int defaultCoordsSizeToCache
-
-
Constructor Details
-
Variable
Deprecated.Use Variable.builder()Create a Variable. Also must call setDataType() and setDimensions()- Parameters:
ncfile- the containing NetcdfFile.group- the containing group; if null, use rootGroupparent- parent Structure, may be nullshortName- variable shortName, must be unique within the Group
-
Variable
@Deprecated public Variable(NetcdfFile ncfile, Group group, Structure parent, String shortName, DataType dtype, String dims) Deprecated.Use Variable.builder()Create a Variable. Also must call setDataType() and setDimensions()- Parameters:
ncfile- the containing NetcdfFile.group- the containing group; if null, use rootGroupparent- parent Structure, may be nullshortName- variable shortName, must be unique within the Groupdtype- the Variable's DataTypedims- space delimited list of dimension names. may be null or "" for scalars.
-
Variable
@Deprecated public Variable(NetcdfFile ncfile, Group group, Structure parent, String shortName, DataType dtype, List<Dimension> dims) Deprecated.Use Variable.builder()Create a Variable. Also must call setDataType() and setDimensions()- Parameters:
ncfile- the containing NetcdfFile.group- the containing group; if null, use rootGroupparent- parent Structure, may be nullshortName- variable shortName, must be unique within the Groupdtype- the Variable's DataTypedims- dimension names.
-
Variable
Deprecated.Use Variable.builder()Copy constructor. The returned Variable is mutable. It shares the cache object and the iosp Object, attributes and dimensions with the original. Does not share the proxyReader. Use for section, slice, "logical views" of original variable.- Parameters:
from- copy from this Variable.
-
-
Method Details
-
getDAPName
Deprecated.Will be moved to opendap package in 6. -
getDAPName
Deprecated.Will be moved to opendap package in 6. -
getDataType
Get the data type of the Variable.- Specified by:
getDataTypein interfaceVariableSimpleIF- Returns:
- Variable's data type
-
getShape
public int[] getShape()Get the shape: length of Variable in each dimension. A scalar (rank 0) will have an int[0] shape.- Specified by:
getShapein interfaceVariableSimpleIF- Returns:
- int array whose length is the rank of this Variable and whose values equal the length of that Dimension.
-
getShape
public int getShape(int index) Get the size of the ith dimension- Parameters:
index- which dimension- Returns:
- size of the ith dimension
-
getSize
public long getSize()Get the total number of elements in the Variable. If this is an unlimited Variable, will use the current number of elements. If this is a Sequence, will return 1. If variable length, will skip vlen dimensions- Returns:
- total number of elements in the Variable.
-
getElementSize
public int getElementSize()Get the number of bytes for one element of this Variable. For Variables of primitive type, this is equal to getDataType().getSize(). Variables of String type don't know their size, so what they return is undefined. Variables of Structure type return the total number of bytes for all the members of one Structure, plus possibly some extra padding, depending on the underlying format. Variables of Sequence type return the number of bytes of one element.- Returns:
- total number of bytes for the Variable
-
getRank
public int getRank()Get the number of dimensions of the Variable, aka the rank.- Specified by:
getRankin interfaceVariableSimpleIF- Returns:
- Variable rank
-
getParentGroupOrRoot
Deprecated.Will go away in ver6, shouldn't be needed when builders are used.Get the parent group, or if null, the root group. -
isMetadata
public boolean isMetadata()Is this variable metadata?. True if its values need to be included explicitly in NcML output.- Returns:
- true if Variable values need to be included in NcML
-
isScalar
public boolean isScalar()Whether this is a scalar Variable (rank == 0).- Returns:
- true if Variable has rank 0
-
isVariableLength
public boolean isVariableLength()Does this variable have a variable length dimension? If so, it has as one of its dimensions Dimension.VLEN.- Returns:
- true if Variable has a variable length dimension?
-
isUnlimited
public boolean isUnlimited()Can this variable's size grow?. This is equivalent to saying at least one of its dimensions is unlimited.- Returns:
- boolean true iff this variable can grow
-
getDimensions
Get the list of dimensions used by this variable. The most slowly varying (leftmost for Java and C programmers) dimension is first. For scalar variables, the list is empty.- Specified by:
getDimensionsin interfaceVariableSimpleIF- Returns:
- List
, will be ImmutableList in ver 6.
-
getDimension
Get the ith dimension.- Parameters:
i- index of the dimension.- Returns:
- requested Dimension, or null if i is out of bounds.
-
getDimensionsString
Get the list of Dimension names, space delineated.- Returns:
- Dimension names, space delineated
-
findDimensionIndex
Find the index of the named Dimension in this Variable.- Parameters:
name- the name of the dimension- Returns:
- the index of the named Dimension, or -1 if not found.
-
getDescription
Get the description of the Variable. Default is to use CDM.LONG_NAME attribute value. If not exist, look for "description", "title", or "standard_name" attribute value (in that order).- Specified by:
getDescriptionin interfaceVariableSimpleIF- Returns:
- description, or null if not found.
-
getUnitsString
Get the Unit String for the Variable. Looks for the CDM.UNITS attribute value- Specified by:
getUnitsStringin interfaceVariableSimpleIF- Returns:
- unit string, or null if not found.
-
getRanges
Get shape as a List of Range objects. The List is immutable.- Returns:
- List of Ranges, one for each Dimension.
-
getShapeAsSection
Get shape as a Section object.- Returns:
- Section containing List
, one for each Dimension.
-
getProxyReader
Deprecated.Use Variable.builder() -
setProxyReader
Deprecated.Use Variable.builder() -
section
Create a new Variable that is a logical subsection of this Variable. No data is read until a read method is called on it.- Parameters:
ranges- List of type ucar.ma2.Range, with size equal to getRank(). Each Range corresponds to a Dimension, and specifies the section of data to read in that Dimension. A Range object may be null, which means use the entire dimension.- Returns:
- a new Variable which is a logical section of this Variable.
- Throws:
InvalidRangeException- if shape and range list don't match
-
section
Create a new Variable that is a logical subsection of this Variable. No data is read until a read method is called on it.- Parameters:
subsection- Section of this variable. Each Range in the section corresponds to a Dimension, and specifies the section of data to read in that Dimension. A Range object may be null, which means use the entire dimension.- Returns:
- a new Variable which is a logical section of this Variable.
- Throws:
InvalidRangeException- if section not compatible with shape
-
slice
Create a new Variable that is a logical slice of this Variable, by fixing the specified dimension at the specified index value. This reduces rank by 1. No data is read until a read method is called on it.- Parameters:
dim- which dimension to fixvalue- at what index value- Returns:
- a new Variable which is a logical slice of this Variable.
- Throws:
InvalidRangeException- if dimension or value is illegal
-
reduce
Create a new Variable that is a logical view of this Variable, by eliminating the specified dimension(s) of length 1. No data is read until a read method is called on it.- Parameters:
dims- list of dimensions of length 1 to reduce- Returns:
- a new Variable which is a logical slice of this Variable.
-
getNetcdfFile
Get the NetcdfFile that this variable is contained in. May be null. -
getFileTypeId
-
lookupEnumString
Lookup the enum string for this value. Can only be called on enum types, where dataType.isEnum() is true.- Parameters:
val- the integer value of this enum- Returns:
- the String value
-
setEnumTypedef
Deprecated.Use Variable.builder()Public by accident.- Parameters:
enumTypedef- set the EnumTypedef, only use if getDataType.isEnum()
-
getEnumTypedef
Get the EnumTypedef, only use if getDataType.isEnum()- Returns:
- enumTypedef or null if !getDataType.isEnum()
-
read
Read a section of the data for this Variable and return a memory resident Array. The Array has the same element type as the Variable, and the requested shape. Note that this does not do rank reduction, so the returned Array has the same rank as the Variable. Use Array.reduce() for rank reduction.assert(origin[ii] + shape[ii]*stride[ii] <= Variable.shape[ii]);- Parameters:
origin- int array specifying the starting index. If null, assume all zeroes.shape- int array specifying the extents in each dimension. This becomes the shape of the returned Array.- Returns:
- the requested data in a memory-resident Array
- Throws:
IOExceptionInvalidRangeException
-
read
Read data section specified by a "section selector", and return a memory resident Array. Uses Fortran 90 array section syntax.- Parameters:
sectionSpec- specification string, eg "1:2,10,:,1:100:10". May optionally have ().- Returns:
- the requested data in a memory-resident Array
- Throws:
IOExceptionInvalidRangeException- See Also:
-
read
Read a section of the data for this Variable from the netcdf file and return a memory resident Array.- Parameters:
ranges- list of Range specifying the section of data to read.- Returns:
- the requested data in a memory-resident Array
- Throws:
IOException- if errorInvalidRangeException- if ranges is invalid- See Also:
-
read
Read a section of the data for this Variable from the netcdf file and return a memory resident Array. The Array has the same element type as the Variable, and the requested shape. Note that this does not do rank reduction, so the returned Array has the same rank as the Variable. Use Array.reduce() for rank reduction. If the Variable is a member of an array of Structures, this returns only the variable's data in the first Structure, so that the Array shape is the same as the Variable. To read the data in all structures, use ncfile.readSectionSpec(). Note this only allows you to specify a subset of this variable. If the variable is nested in an array of structures and you want to subset that, use NetcdfFile.read(String sectionSpec, boolean flatten);- Parameters:
section- list of Range specifying the section of data to read. Must be null or same rank as variable. If list is null, assume all data. Each Range corresponds to a Dimension. If the Range object is null, it means use the entire dimension.- Returns:
- the requested data in a memory-resident Array
- Throws:
IOException- if errorInvalidRangeException- if section is invalid
-
read
Read all the data for this Variable and return a memory resident Array. The Array has the same element type and shape as the Variable. If the Variable is a member of an array of Structures, this returns only the variable's data in the first Structure, so that the Array shape is the same as the Variable. To read the data in all structures, use ncfile.readSection().- Returns:
- the requested data in a memory-resident Array.
- Throws:
IOException
-
readScalarByte
Get the value as a byte for a scalar Variable. May also be one-dimensional of length 1.- Throws:
IOException- if theres an IO ErrorUnsupportedOperationException- if not a scalar Variable or one-dimensional of length 1.ForbiddenConversionException- if data type not convertible to byte
-
readScalarShort
Get the value as a short for a scalar Variable. May also be one-dimensional of length 1.- Throws:
IOException- if theres an IO ErrorUnsupportedOperationException- if not a scalar Variable or one-dimensional of length 1.ForbiddenConversionException- if data type not convertible to short
-
readScalarInt
Get the value as a int for a scalar Variable. May also be one-dimensional of length 1.- Throws:
IOException- if theres an IO ErrorUnsupportedOperationException- if not a scalar Variable or one-dimensional of length 1.ForbiddenConversionException- if data type not convertible to int
-
readScalarLong
Get the value as a long for a scalar Variable. May also be one-dimensional of length 1.- Throws:
IOException- if theres an IO ErrorUnsupportedOperationException- if not a scalar VariableForbiddenConversionException- if data type not convertible to long
-
readScalarFloat
Get the value as a float for a scalar Variable. May also be one-dimensional of length 1.- Throws:
IOException- if theres an IO ErrorUnsupportedOperationException- if not a scalar Variable or one-dimensional of length 1.ForbiddenConversionException- if data type not convertible to float
-
readScalarDouble
Get the value as a double for a scalar Variable. May also be one-dimensional of length 1.- Throws:
IOException- if theres an IO ErrorUnsupportedOperationException- if not a scalar Variable or one-dimensional of length 1.ForbiddenConversionException- if data type not convertible to double
-
readScalarString
Get the value as a String for a scalar Variable. May also be one-dimensional of length 1. May also be one-dimensional of type CHAR, which wil be turned into a scalar String.- Throws:
IOException- if theres an IO ErrorUnsupportedOperationException- if not a scalar or one-dimensional.ClassCastException- if data type not DataType.STRING or DataType.CHAR.
-
reallyRead
public by accident, do not call directly.- Specified by:
reallyReadin interfaceProxyReader- Parameters:
client- the client VariablecancelTask- user may cancel- Returns:
- Array
- Throws:
IOException- on error
-
reallyRead
public Array reallyRead(Variable client, Section section, CancelTask cancelTask) throws IOException, InvalidRangeException public by accident, do not call directly.- Specified by:
reallyReadin interfaceProxyReader- Parameters:
client- the client Variablesection- the section of data to read.cancelTask- user may cancel- Returns:
- Array
- Throws:
IOException- on errorInvalidRangeException- if section has incorrect rank or illegal shape.
-
readToByteChannel
@Deprecated public long readToByteChannel(Section section, WritableByteChannel wbc) throws IOException, InvalidRangeException Deprecated.do not use- Throws:
IOExceptionInvalidRangeException
-
readToStream
public long readToStream(Section section, OutputStream out) throws IOException, InvalidRangeException Read variable data to a stream. Support for NcStreamWriter.- Throws:
IOExceptionInvalidRangeException
-
getParentGroup
Get its containing Group. Not deprecated. LOOK if you relied on Group being set during construction, use getParentGroupOrRoot().- Overrides:
getParentGroupin classCDMNode- Returns:
- parent Group
-
getParentStructure
Get its parent structure, or null if not in structure Not deprecated.- Overrides:
getParentStructurein classCDMNode- Returns:
- parent structure
-
isMemberOfStructure
public boolean isMemberOfStructure()Test for presence of parent Structure. Not deprecated.- Overrides:
isMemberOfStructurein classCDMNode- Returns:
- true iff struct != null
-
getFullName
Get the full name of this Variable. Certain characters are backslash escaped (see NetcdfFiles.getFullName(Variable)) Not deprecated.- Specified by:
getFullNamein interfaceVariableSimpleIF- Overrides:
getFullNamein classCDMNode- Returns:
- full name with backslash escapes
-
getNameAndDimensions
Get the display name plus the dimensions, eg 'float name(dim1, dim2)'- Returns:
- display name plus the dimensions
-
getNameAndDimensions
Get the display name plus the dimensions, eg 'float name(dim1, dim2)'- Parameters:
strict- strictly comply with ncgen syntax, with name escaping. otherwise, get extra info, no escaping- Returns:
- display name plus the dimensions
-
getNameAndDimensions
Deprecated.use CDLWriterGet the display name plus the dimensions, eg 'name(dim1, dim2)'- Parameters:
buf- add info to this StringBuilder
-
getNameAndDimensions
Deprecated.use getNameAndDimensions(StringBuilder buf)Get the display name plus the dimensions, eg 'name(dim1, dim2)'- Parameters:
buf- add info to this StringBuffer
-
getNameAndDimensions
@Deprecated public void getNameAndDimensions(StringBuilder buf, boolean useFullName, boolean strict) Deprecated.use CDLWriterAdd display name plus the dimensions to the StringBuffer- Parameters:
buf- add info to thisuseFullName- use full name else short name. strict = true implies short namestrict- strictly comply with ncgen syntax, with name escaping. otherwise, get extra info, no escaping
-
getNameAndDimensions
Add display name plus the dimensions to the Formatter- Parameters:
buf- add info to thisuseFullName- use full name else short name. strict = true implies short namestrict- strictly comply with ncgen syntax, with name escaping. otherwise, get extra info, no escaping
-
toString
-
writeCDL
Deprecated.use CDLWriterCDL representation of a Variable.- Parameters:
useFullName- use full name, else use short namestrict- strictly comply with ncgen syntax- Returns:
- CDL representation of the Variable.
-
toStringDebug
String representation of Variable and its attributes. -
getDatasetLocation
The location of the dataset this belongs to. Labeling purposes only. -
equals
Instances which have same content are equal. -
hashCode
public int hashCode()Override Object.hashCode() to implement equals. -
compareTo
Sort by name- Specified by:
compareToin interfaceComparable<VariableSimpleIF>
-
setDataType
Deprecated.Use Variable.builder()Set the data type- Parameters:
dataType- set to this value
-
setName
Deprecated.Use Variable.builder()Set the short name, converting to valid CDM object name if needed.- Parameters:
shortName- set to this value- Returns:
- valid CDM object name
-
setParentGroup
Deprecated.Use Variable.builder()Set the parent group.- Overrides:
setParentGroupin classCDMNode- Parameters:
group- set to this value
-
setElementSize
Deprecated.Use Variable.builder()Set the element size. Usually elementSize is determined by the dataType, use this only for exceptional cases.- Parameters:
elementSize- set to this value
-
attributes
The attributes contained by this Variable.- Specified by:
attributesin interfaceVariableSimpleIF
-
findAttribute
Find the attribute by name, return null if not exist- Specified by:
findAttributein interfaceAttributeContainer
-
findAttributeString
Find a String-valued Attribute by name (ignore case), return the String value of the Attribute.- Specified by:
findAttributeStringin interfaceAttributeContainer- Returns:
- the attribute value, or defaultValue if not found
-
isEmpty
public boolean isEmpty()Deprecated.Use attributes()Description copied from interface:AttributeContainerTrue is there are no attributes in the container.- Specified by:
isEmptyin interfaceAttributeContainer
-
getAttributes
Deprecated.Use attributes()Description copied from interface:VariableSimpleIFAttributes for the variable.- Specified by:
getAttributesin interfaceAttributeContainer- Specified by:
getAttributesin interfaceVariableSimpleIF- Returns:
- List of type ucar.nc2.Attribute
-
findAttributeIgnoreCase
Deprecated.Use attributes()Description copied from interface:VariableSimpleIFfind the attribute for the variable with the given name, ignoring case.- Specified by:
findAttributeIgnoreCasein interfaceAttributeContainer- Specified by:
findAttributeIgnoreCasein interfaceVariableSimpleIF- Parameters:
name- attribute name- Returns:
- the attribute for the variable with the given name, or null if not found.
-
findAttributeDouble
Deprecated.Use attributes()Description copied from interface:AttributeContainerFind a Numeric Attribute by name (ignore case), return the double value of the Attribute.- Specified by:
findAttributeDoublein interfaceAttributeContainer- Returns:
- the attribute value, or defaultValue if not found
-
findAttributeInteger
Deprecated.Use attributes()Description copied from interface:AttributeContainerFind a Numeric Attribute by name (ignore case), return the integer value of the Attribute.- Specified by:
findAttributeIntegerin interfaceAttributeContainer- Returns:
- the attribute value, or defaultValue if not found
-
addAttribute
Deprecated.Use Variable.builder()Description copied from interface:AttributeContainerAdd new or replace old if has same name- Specified by:
addAttributein interfaceAttributeContainer- Parameters:
att- add this Attribute- Returns:
- the added attribute
-
addAll
Deprecated.Use Variable.builder()Description copied from interface:AttributeContainerAdd all; replace old if has same name- Specified by:
addAllin interfaceAttributeContainer
-
remove
Deprecated.Use Variable.builder()Description copied from interface:AttributeContainerRemove an Attribute : uses the attribute hashCode to find it.- Specified by:
removein interfaceAttributeContainer- Parameters:
a- remove this attribute- Returns:
- true if was found and removed
-
removeAttribute
Deprecated.Use Variable.builder()Description copied from interface:AttributeContainerRemove an Attribute by name.- Specified by:
removeAttributein interfaceAttributeContainer- Parameters:
attName- if exists, remove this attribute- Returns:
- true if was found and removed
-
removeAttributeIgnoreCase
Deprecated.Use Variable.builder()Description copied from interface:AttributeContainerRemove an Attribute by name, ignoring case- Specified by:
removeAttributeIgnoreCasein interfaceAttributeContainer- Parameters:
attName- if exists, remove this attribute- Returns:
- true if was found and removed
-
setDimensions
Deprecated.Use Variable.builder()Set the shape with a list of Dimensions. The Dimensions may be shared or not. Dimensions are in order, slowest varying first. Send a null for a scalar. Technically you can use Dimensions from any group; pragmatically you should only use Dimensions contained in the Variable's parent groups.- Parameters:
dims- list of type ucar.nc2.Dimension
-
resetShape
Deprecated.Use Variable.builder()Use when dimensions have changed, to recalculate the shape. -
setDimensions
Deprecated.Use Variable.builder()Set the dimensions using the dimensions names. The dimension is searched for recursively in the parent groups.- Parameters:
dimString- : whitespace separated list of dimension names, or '*' for Dimension.UNKNOWN, or number for anon dimension. null or empty String is a scalar.
-
resetDimensions
Deprecated.Use Variable.builder()Reset the dimension array. Anonymous dimensions are left alone. Shared dimensions are searched for recursively in the parent groups. -
setDimensionsAnonymous
Deprecated.Use Variable.builder()Set the dimensions using all anonymous (unshared) dimensions- Parameters:
shape- defines the dimension lengths. must be > 0, or -1 for VLEN- Throws:
InvalidRangeException- if any shape < 1
-
setIsScalar
Deprecated.Use Variable.builder()Set this Variable to be a scalar -
setDimension
Deprecated.Use Variable.builder()Replace a dimension with an equivalent one.- Parameters:
idx- index into dimension arraydim- to set
-
setImmutable
Deprecated.Use Variable.builder()Make this immutable.- Overrides:
setImmutablein classCDMNode- Returns:
- this
-
isImmutable
Deprecated.Use Variable.builder()Is this Variable immutable- Returns:
- if immutable
-
getSPobject
Get immutable service provider opaque object. -
setSPobject
Deprecated.Do not use. -
getSizeToCache
public int getSizeToCache()If total data size is less than SizeToCache in bytes, then cache.- Returns:
- size at which caching happens
-
setSizeToCache
Deprecated.Use Variable.builder()Set the sizeToCache. If not set, use defaults- Parameters:
sizeToCache- size at which caching happens. < 0 means use defaults
-
setCaching
Deprecated.Use Variable.builder()Set whether to cache or not. Implies that the entire array will be stored, once read. Normally this is set automatically based on size of data.- Parameters:
caching- set if caching.
-
isCaching
public boolean isCaching()Will this Variable be cached when read. Set externally, or calculated based on total size < sizeToCache.This will always return
falseifcaching isn't permitted.- Returns:
- true is caching
-
invalidateCache
Deprecated.Use Variable.builder()Note that standalone Ncml caches data values set in the Ncml. So one cannot invalidate those caches. -
setCachedData
Deprecated.Use Variable.builder() -
setCachedData
Deprecated.Use Variable.builder()Set the data cache- Parameters:
cacheData- cache this ArrayisMetadata- : synthesized data, set true if must be saved in NcML output (ie data not actually in the file).
-
createNewCache
public void createNewCache()Create a new data cache, use this when you dont want to share the cache. -
hasCachedData
public boolean hasCachedData()Has data been read and cached. Use only on a Variable, not a subclass.- Returns:
- true if data is read and cached
-
setValues
Deprecated.Use Variable.builder()Generate the list of values from a starting value and an increment. Will reshape to variable if needed.- Parameters:
npts- number of values, must = v.getSize()start- starting valueincr- increment
-
setValues
Deprecated.Use Variable.builder()Set the data values from a list of Strings.- Parameters:
values- list of Strings- Throws:
IllegalArgumentException- if values array not correct size, or values wont parse to the correct type
-
getDimensionsAll
Deprecated.use Dimensions.makeDimensionsAll(Variable);Get list of Dimensions, including parents if any.- Returns:
- array of Dimension, rank of v plus all parents.
-
getShapeAll
Deprecated.use Dimensions.makeDimensionsAll(Variable); -
isCoordinateVariable
public boolean isCoordinateVariable()Calculate if this is a classic coordinate variable: has same name as its first dimension. If type char, must be 2D, else must be 1D.- Returns:
- true if a coordinate variable.
-
toBuilder
Turn into a mutable Builder. Can use toBuilder().build() to copy. -
builder
Get Builder for this class that allows subclassing.- See Also:
-
- "https://community.oracle.com/blogs/emcmanus/2010/10/24/using-builder-pattern-subclasses"
-
isUnknownLength
public boolean isUnknownLength()Deprecated.use isVariableLength()- Returns:
- isVariableLength()
-