public class NetcdfFile extends Object implements FileCacheable, Closeable
Read-only scientific datasets that are accessible through the netCDF API.
Immutable after setImmutable() is called. Reading data is not
thread-safe because of the use of RandomAccessFile.
Using this class's Builder scheme to create a NetcdfFile object could, for
example, be accomplished as follows, using a try/finally block to ensure that the
NetcdfFile is closed when done.
NetcdfFile ncfile = null;
try {
ncfile = NetcdfFile.builder().setLocation(fileName).build();
// do stuff
} finally {
if (ncfile != null) {
ncfile.close();
}
}
More conveniently, a NetcdfFile object may be created using one of the static methods
in NetcdfFiles:
NetcdfFile ncfile = null;
try {
ncfile = NetcdfFiles.open(fileName);
// do stuff
} finally {
if (ncfile != null) {
ncfile.close();
}
}
Or better yet, use try-with-resources:
try (NetcdfFile ncfile = NetcdfFiles.open(fileName)) {
// do stuff
}
Naming
Each object has a name (aka "full name") that is unique within the entire netcdf file, and
a "short name" that is unique within the parent group.
These coincide for objects in the root group, and so are backwards compatible with version
3 files.
- Variable: group1/group2/varname
- Structure member Variable: group1/group2/varname.s1.s2
- Group Attribute: group1/group2@attName
- Variable Attribute: group1/group2/varName@attName
| Modifier and Type | Class and Description |
|---|---|
static class |
NetcdfFile.Builder<T extends NetcdfFile.Builder<T>>
A builder of NetcdfFile objects.
|
| Modifier and Type | Field and Description |
|---|---|
protected FileCacheIF |
cache |
protected static boolean |
debugCompress |
protected static boolean |
debugSPI |
protected List<Dimension> |
dimensions |
protected List<Attribute> |
gattributes |
protected String |
id |
protected IOServiceProvider |
iosp |
static String |
IOSP_MESSAGE_ADD_RECORD_STRUCTURE |
static String |
IOSP_MESSAGE_CONVERT_RECORD_STRUCTURE |
static String |
IOSP_MESSAGE_RANDOM_ACCESS_FILE |
static String |
IOSP_MESSAGE_REMOVE_RECORD_STRUCTURE |
protected String |
location |
protected Group |
rootGroup |
protected static boolean |
showRequest |
protected String |
title |
protected List<Variable> |
variables |
| Modifier | Constructor and Description |
|---|---|
protected |
NetcdfFile()
Deprecated.
use NetcdfFile.builder()
|
protected |
NetcdfFile(IOServiceProvider spi,
RandomAccessFile raf,
String location,
CancelTask cancelTask)
Deprecated.
use NetcdfFile.builder()
|
protected |
NetcdfFile(IOServiceProvider spi,
String location)
Deprecated.
use NetcdfFile.builder()
|
protected |
NetcdfFile(NetcdfFile.Builder<?> builder) |
protected |
NetcdfFile(NetcdfFile ncfile)
Deprecated.
use NetcdfFile.builder()
|
|
NetcdfFile(String filename)
Deprecated.
use NetcdfFile.open( location) or NetcdfDataset.openFile( location)
|
protected |
NetcdfFile(String iospClassName,
Object iospParam,
String location,
int buffer_size,
CancelTask cancelTask)
Deprecated.
use NetcdfFile.builder()
|
|
NetcdfFile(URL url)
Deprecated.
use NetcdfFile.open( http:location) or NetcdfDataset.openFile( http:location)
|
| Modifier and Type | Method and Description |
|---|---|
Attribute |
addAttribute(Group parent,
Attribute att)
Deprecated.
Use NetcdfFile.builder()
|
Attribute |
addAttribute(Group parent,
String name,
String value)
Deprecated.
Use NetcdfFile.builder()
|
Dimension |
addDimension(Group parent,
Dimension d)
Deprecated.
Use NetcdfFile.builder()
|
Group |
addGroup(Group parent,
Group g)
Deprecated.
Use NetcdfFile.builder()
|
protected NetcdfFile.Builder<?> |
addLocalFieldsToBuilder(NetcdfFile.Builder<? extends NetcdfFile.Builder<?>> b) |
Variable |
addStringVariable(Group g,
String shortName,
String dims,
int strlen)
Deprecated.
Use NetcdfFile.builder()
|
Variable |
addVariable(Group g,
String shortName,
DataType dtype,
String dims)
Deprecated.
Use NetcdfFile.builder()
|
Variable |
addVariable(Group g,
Variable v)
Deprecated.
Use NetcdfFile.builder()
|
Attribute |
addVariableAttribute(Variable v,
Attribute att)
Deprecated.
Use NetcdfFile.builder()
|
static NetcdfFile.Builder<?> |
builder()
Get Builder for this class.
|
static String |
canonicalizeUriString(String location)
Deprecated.
use NetcdfFiles.canonicalizeUriString
|
static boolean |
canOpen(String location)
Deprecated.
use NetcdfFiles.canOpen
|
void |
close()
Close all resources (files, sockets, etc) associated with this file.
|
void |
empty()
Deprecated.
|
Attribute |
findAttribute(String fullNameEscaped)
Find an attribute, with the specified (escaped full) name.
|
String |
findAttValueIgnoreCase(Variable v,
String attName,
String defaultValue)
Deprecated.
use getRootGroup() or Variable findAttValueIgnoreCase().
|
Dimension |
findDimension(String fullName)
Finds a Dimension with the specified full name.
|
Attribute |
findGlobalAttribute(String name)
Look up global Attribute by (full) name.
|
Attribute |
findGlobalAttributeIgnoreCase(String name)
Look up global Attribute by name, ignore case.
|
Group |
findGroup(String fullName)
Find a Group, with the specified (full) name.
|
Variable |
findVariable(Group g,
String shortName)
Find a Variable by short name, in the given group.
|
Variable |
findVariable(String fullNameEscaped)
Find a Variable, with the specified (escaped full) name.
|
Variable |
findVariableByAttribute(Group g,
String attName,
String attValue)
Look in the given Group and in its nested Groups for a Variable with a String valued Attribute with the given name
and value.
|
void |
finish()
Deprecated.
Use NetcdfFile.builder()
|
String |
getCacheName()
Deprecated.
|
String |
getDetailInfo()
Deprecated.
do not use
|
void |
getDetailInfo(Formatter f)
Deprecated.
do not use
|
List<Dimension> |
getDimensions()
Get the shared Dimensions used in this file.
|
String |
getFileTypeDescription()
Get a human-readable description for this file type.
|
String |
getFileTypeId()
Get the file type id for the underlying data source.
|
String |
getFileTypeVersion()
Get the version of this file type.
|
List<Attribute> |
getGlobalAttributes()
Deprecated.
use getRootGroup().getAttributeContainer()
|
String |
getId()
Get the globally unique dataset identifier, if it exists.
|
IOServiceProvider |
getIosp()
Deprecated.
do not use.
|
long |
getLastModified()
Deprecated.
|
String |
getLocation()
Get the NetcdfFile location.
|
Group |
getRootGroup()
Get the root group.
|
protected StructureDataIterator |
getStructureIterator(Structure s,
int bufferSize) |
String |
getTitle()
Get the human-readable title, if it exists.
|
Dimension |
getUnlimitedDimension()
Return the unlimited (record) dimension, or null if not exist.
|
List<Variable> |
getVariables()
Get all of the variables in the file, in all groups.
|
boolean |
hasUnlimitedDimension()
Return true if this file has one or more unlimited (record) dimension.
|
static boolean |
iospDeRegister(Class iospClass)
Deprecated.
use NetcdfFiles.iospDeRegister
|
static boolean |
iospRegistered(Class iospClass)
Deprecated.
use NetcdfFiles.iospRegistered
|
protected static String |
makeFullName(CDMNode v)
Deprecated.
use NetcdfFiles.makeFullName
|
protected static String |
makeFullName(CDMNode node,
String reservedChars)
Deprecated.
use NetcdfFiles.makeFullName
|
protected static String |
makeFullNameSectionSpec(CDMNode v)
Deprecated.
use NetcdfFiles.makeFullNameSectionSpec
|
protected String |
makeFullNameWithString(Group parent,
String name)
Deprecated.
use NetcdfFiles.makeFullNameWithString
|
static String |
makeNameUnescaped(String vname)
Deprecated.
use NetcdfFiles.makeNameUnescaped
|
protected Boolean |
makeRecordStructure()
Deprecated.
|
static String |
makeValidCDLName(String vname)
Deprecated.
use NetcdfFiles.makeValidCDLName
|
static String |
makeValidCdmObjectName(String shortName)
Deprecated.
use NetcdfFiles.makeValidCdmObjectName
|
static String |
makeValidPathName(String vname)
Deprecated.
use NetcdfFiles.makeValidPathName
|
static String |
makeValidSectionSpecName(String vname)
Deprecated.
use NetcdfFiles.makeValidSectionSpecName
|
static NetcdfFile |
open(RandomAccessFile raf,
String location,
CancelTask cancelTask,
Object iospMessage)
Deprecated.
use NetcdfFiles.open
|
static NetcdfFile |
open(String location)
Deprecated.
use NetcdfFiles.open
|
static NetcdfFile |
open(String location,
CancelTask cancelTask)
Deprecated.
use NetcdfFiles.open
|
static NetcdfFile |
open(String location,
int buffer_size,
CancelTask cancelTask)
Deprecated.
use NetcdfFiles.open
|
static NetcdfFile |
open(String location,
int buffer_size,
CancelTask cancelTask,
Object iospMessage)
Deprecated.
use NetcdfFiles.open
|
static NetcdfFile |
open(String location,
String iospClassName,
int bufferSize,
CancelTask cancelTask,
Object iospMessage)
Deprecated.
use NetcdfFiles.open
|
static NetcdfFile |
openInMemory(String filename)
Deprecated.
use NetcdfFiles.openInMemory
|
static NetcdfFile |
openInMemory(String name,
byte[] data)
Deprecated.
use NetcdfFiles.openInMemory
|
static NetcdfFile |
openInMemory(String name,
byte[] data,
String iospClassName)
Deprecated.
use NetcdfFiles.openInMemory
|
static NetcdfFile |
openInMemory(URI uri)
Deprecated.
use NetcdfFiles.openInMemory
|
void |
reacquire()
Reacquire any resources like file handles
Used when reactivating in cache.
|
Array |
read(String variableSection,
boolean flatten)
Deprecated.
use readSection(), flatten=false no longer supported
|
List<Array> |
readArrays(List<Variable> variables)
Deprecated.
will be moved to DODSNetcdfFile in version 6.
|
double |
readAttributeDouble(Variable v,
String attName,
double defValue)
Deprecated.
use Group.attributes().findAttributeDouble
|
int |
readAttributeInteger(Variable v,
String attName,
int defValue)
Deprecated.
use Group.attributes().findAttributeInteger
|
protected Array |
readData(Variable v,
Section ranges)
Do not call this directly, use Variable.read() !!
Ranges must be filled (no nulls)
|
Array |
readSection(String variableSection)
Read a variable using the given section specification.
|
protected long |
readToByteChannel(Variable v,
Section section,
WritableByteChannel wbc)
Deprecated.
do not use
|
protected long |
readToOutputStream(Variable v,
Section section,
OutputStream out) |
static void |
registerIOProvider(Class iospClass)
Deprecated.
use NetcdfFiles.registerIOProvider
|
static void |
registerIOProvider(Class iospClass,
boolean last)
Deprecated.
use NetcdfFiles.registerIOProvider
|
static void |
registerIOProvider(String className)
Deprecated.
use NetcdfFiles.registerIOProvider
|
static void |
registerIOProviderPreferred(Class iospClass,
Class target)
Deprecated.
use NetcdfFiles.registerIOProvider
|
void |
release()
Release any system resources like file handles.
|
boolean |
removeDimension(Group g,
String dimName)
Deprecated.
Use NetcdfFile.builder()
|
protected Boolean |
removeRecordStructure()
Deprecated.
|
boolean |
removeVariable(Group g,
String varName)
Deprecated.
Use NetcdfFile.builder()
|
Object |
sendIospMessage(Object message)
Deprecated.
Use NetcdfFile.builder()
|
protected void |
setCacheName(String cacheName)
Deprecated.
|
static void |
setDebugFlags(DebugFlags debugFlag)
debugging
|
void |
setFileCache(FileCacheIF cache)
Deprecated.
|
void |
setId(String id)
Deprecated.
Use NetcdfFile.builder()
|
NetcdfFile |
setImmutable()
Deprecated.
Use NetcdfFile.builder()
|
void |
setLocation(String location)
Deprecated.
Use NetcdfFile.builder()
|
static void |
setProperty(String name,
String value)
Deprecated.
do not use
|
void |
setRootGroup(Group rootGroup)
Deprecated.
Use NetcdfFile.builder()
|
void |
setTitle(String title)
Deprecated.
Use NetcdfFile.builder()
|
protected void |
showCached(Formatter f)
Deprecated.
do not use
|
protected void |
showProxies(Formatter f) |
boolean |
syncExtend()
Deprecated.
do not use
|
NetcdfFile.Builder<?> |
toBuilder()
Turn into a mutable Builder.
|
String |
toNcML(String url)
Deprecated.
use NcMLWriter
|
String |
toString()
CDL representation of Netcdf header info, non strict
|
protected String |
toStringDebug(Object o)
Access to iosp debugging info.
|
protected void |
writeCDL(Formatter f,
Indent indent,
boolean strict) |
void |
writeCDL(OutputStream out,
boolean strict)
Deprecated.
use CDLWriter
|
void |
writeCDL(PrintWriter pw,
boolean strict)
Deprecated.
use CDLWriter
|
void |
writeNcML(OutputStream os,
String uri)
Deprecated.
will move in ver 6
|
void |
writeNcML(Writer writer,
String uri)
Deprecated.
will move in ver 6
|
public static final String IOSP_MESSAGE_ADD_RECORD_STRUCTURE
public static final String IOSP_MESSAGE_CONVERT_RECORD_STRUCTURE
public static final String IOSP_MESSAGE_REMOVE_RECORD_STRUCTURE
public static final String IOSP_MESSAGE_RANDOM_ACCESS_FILE
protected static boolean debugSPI
protected static boolean debugCompress
protected static boolean showRequest
protected String location
protected String id
protected String title
protected Group rootGroup
protected IOServiceProvider iosp
protected FileCacheIF cache
@Deprecated public NetcdfFile(String filename) throws IOException
filename - locationIOException - if error@Deprecated public NetcdfFile(URL url) throws IOException
url - HTTP URL locationIOException - if error@Deprecated protected NetcdfFile(String iospClassName, Object iospParam, String location, int buffer_size, CancelTask cancelTask) throws IOException, IllegalAccessException, InstantiationException, ClassNotFoundException
iospClassName - the name of the class implementing IOServiceProvideriospParam - parameter to pass to the IOSP (before open is called)location - location of file. This is a URL string, or a local pathname.buffer_size - use this buffer size on the RandomAccessFilecancelTask - allow user to cancelClassNotFoundException - if the iospClassName cannot be foundIllegalAccessException - if the class or its nullary constructor is not accessible.InstantiationException - if the class cannot be instatiated, eg if it has no nullary constructorIOException - if I/O error@Deprecated protected NetcdfFile(IOServiceProvider spi, RandomAccessFile raf, String location, CancelTask cancelTask) throws IOException
spi - use this IOServiceProvider instanceraf - read from this RandomAccessFilecancelTask - allow user to cancellocation - location of dataIOException - if I/O error@Deprecated protected NetcdfFile(IOServiceProvider spi, String location)
spi - use this IOServiceProvider instancelocation - location of data@Deprecated protected NetcdfFile()
@Deprecated protected NetcdfFile(NetcdfFile ncfile)
ncfile - copy from hereprotected NetcdfFile(NetcdfFile.Builder<?> builder)
public static void setDebugFlags(DebugFlags debugFlag)
debugFlag - debug flags@Deprecated public static void registerIOProvider(String className) throws IllegalAccessException, InstantiationException, ClassNotFoundException
className - Class that implements IOServiceProvider.IllegalAccessException - if class is not accessible.InstantiationException - if class doesnt have a no-arg constructor.ClassNotFoundException - if class not found.@Deprecated public static void registerIOProvider(Class iospClass) throws IllegalAccessException, InstantiationException
iospClass - Class that implements IOServiceProvider.IllegalAccessException - if class is not accessible.InstantiationException - if class doesnt have a no-arg constructor.ClassCastException - if class doesnt implement IOServiceProvider interface.@Deprecated public static void registerIOProvider(Class iospClass, boolean last) throws IllegalAccessException, InstantiationException
iospClass - Class that implements IOServiceProvider.last - true=>insert at the end of the list; otherwise frontIllegalAccessException - if class is not accessible.InstantiationException - if class doesnt have a no-arg constructor.ClassCastException - if class doesnt implement IOServiceProvider interface.@Deprecated public static void registerIOProviderPreferred(Class iospClass, Class target) throws IllegalAccessException, InstantiationException
iospClass - Class that implements IOServiceProvider.target - Class to overrideIllegalAccessException - if class is not accessible.InstantiationException - if class doesnt have a no-arg constructor.ClassCastException - if class doesnt implement IOServiceProvider interface.@Deprecated public static boolean iospRegistered(Class iospClass)
iospClass - Class for which to search@Deprecated public static boolean iospDeRegister(Class iospClass)
iospClass - Class for which to search and remove@Deprecated public static void setProperty(String name, String value)
name - name of propertyvalue - value of property@Deprecated public static NetcdfFile open(String location) throws IOException
location - location of file.IOException - if error@Deprecated public static NetcdfFile open(String location, CancelTask cancelTask) throws IOException
location - location of the file.cancelTask - allow task to be cancelled; may be null.IOException - if error@Deprecated public static NetcdfFile open(String location, int buffer_size, CancelTask cancelTask) throws IOException
location - location of file.buffer_size - RandomAccessFile buffer size, if <= 0, use default sizecancelTask - allow task to be cancelled; may be null.IOException - if error@Deprecated public static NetcdfFile open(String location, int buffer_size, CancelTask cancelTask, Object iospMessage) throws IOException
location - location of file. This may be a
buffer_size - RandomAccessFile buffer size, if <= 0, use default sizecancelTask - allow task to be cancelled; may be null.iospMessage - special iosp tweaking (sent before open is called), may be nullIOException - if error@Deprecated public static boolean canOpen(String location) throws IOException
location - same as openIOException - on read error@Deprecated public static NetcdfFile open(String location, String iospClassName, int bufferSize, CancelTask cancelTask, Object iospMessage) throws ClassNotFoundException, IllegalAccessException, InstantiationException, IOException
location - location of fileiospClassName - fully qualified class name of the IOSP class to handle this filebufferSize - RandomAccessFile buffer size, if <= 0, use default sizecancelTask - allow task to be cancelled; may be null.iospMessage - special iosp tweaking (sent before open is called), may be nullIOException - if read errorClassNotFoundException - cannat find iospClassName in thye class pathInstantiationException - if class cannot be instantiatedIllegalAccessException - if class is not accessible@Deprecated public static String canonicalizeUriString(String location)
"file:" or "file://" prefix from the location, if necessary. Also replaces
back slashes with forward slashes.location - a URI string.@Deprecated public static NetcdfFile openInMemory(String name, byte[] data, String iospClassName) throws IOException, ClassNotFoundException, IllegalAccessException, InstantiationException
name - name of the dataset. Typically use the filename or URI.data - in-memory netcdf fileiospClassName - fully qualified class name of the IOSP class to handle this fileIOException - if read errorClassNotFoundException - cannat find iospClassName in the class pathInstantiationException - if class cannot be instantiatedIllegalAccessException - if class is not accessible@Deprecated public static NetcdfFile openInMemory(String name, byte[] data) throws IOException
name - name of the dataset. Typically use the filename or URI.data - in-memory netcdf fileIOException - if error@Deprecated public static NetcdfFile openInMemory(String filename) throws IOException
filename - location of CDM file, must be a local file.IOException - if error reading file@Deprecated public static NetcdfFile openInMemory(URI uri) throws IOException
uri - location of CDM file, must be accessible through url.toURL().openStream().IOException - if error reading file@Deprecated public static NetcdfFile open(RandomAccessFile raf, String location, CancelTask cancelTask, Object iospMessage) throws IOException
raf - The open raf, is not cloised by this method.location - human readable locatoin of this dataset.cancelTask - used to monitor user cancellation; may be null.iospMessage - send this message to iosp; may be null.IOException - if cannot open as a CDM NetCDF.public void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableclose in interface FileCacheableIOException - if error when closingpublic void release()
throws IOException
FileCacheablerelease in interface FileCacheableIOExceptionpublic void reacquire()
throws IOException
FileCacheablereacquire in interface FileCacheableIOException@Deprecated public void setFileCache(FileCacheIF cache)
setFileCache in interface FileCacheablecache - must store this, use it on close as above.@Deprecated public String getCacheName()
@Deprecated protected void setCacheName(String cacheName)
cacheName - name in the cache, should be unique for this NetcdfFile. Usually the location.public String getLocation()
getLocation in interface FileCacheable@Nullable public String getId()
@Nullable public String getTitle()
public Group getRootGroup()
@Nullable public Group findGroup(String fullName)
fullName - eg "/group/subgroup/wantGroup". Null or empty string returns the root group.@Nullable public Variable findVariable(Group g, String shortName)
g - A group in this file. Null for root group.shortName - short name of the Variable.@Nullable public Variable findVariable(String fullNameEscaped)
fullNameEscaped - eg "/group/subgroup/name1.name2.name".@Nullable public Variable findVariableByAttribute(Group g, String attName, String attValue)
g - start with this Group, null for the root Group.attName - look for an Attribuite with this name.attValue - look for an Attribuite with this value.@Nullable public Dimension findDimension(String fullName)
fullName will be treated as if it were there. In other words, the first name token in
fullName is treated as the short name of a Group or Dimension, relative to the root group.fullName - Dimension full name, e.g. "/group/subgroup/dim".null if it wasn't found.public boolean hasUnlimitedDimension()
@Nullable public Dimension getUnlimitedDimension()
public List<Dimension> getDimensions()
If the dimensions are in a group, the dimension name will have the group name, in order to disambiguate the dimensions. This means that a Variable's dimensions will not match Dimensions in this list. Therefore it is better to get the shared Dimensions directly from the Groups.
public List<Variable> getVariables()
@Deprecated public List<Attribute> getGlobalAttributes()
@Nullable public Attribute findGlobalAttribute(String name)
name - the name of the attribute@Nullable public Attribute findGlobalAttributeIgnoreCase(String name)
name - the name of the attribute@Nullable public Attribute findAttribute(String fullNameEscaped)
fullNameEscaped - eg "@attName", "/group/subgroup/@attName" or "/group/subgroup/varname.name2.name@attName"@Deprecated public String findAttValueIgnoreCase(Variable v, String attName, String defaultValue)
v - the variable or null to look in the root group.attName - the (full) name of the attribute, case insensitivedefaultValue - return this if attribute not found@Deprecated public double readAttributeDouble(Variable v, String attName, double defValue)
@Deprecated public int readAttributeInteger(Variable v, String attName, int defValue)
public String toString()
@Deprecated public String toNcML(String url)
@Deprecated public void writeCDL(OutputStream out, boolean strict)
out - write to this OutputStreamstrict - if true, make it stricly CDL, otherwise, add a little extra info@Deprecated public void writeCDL(PrintWriter pw, boolean strict)
pw - write to this PrintWriterstrict - if true, make it stricly CDL, otherwise, add a little extra info@Deprecated public void writeNcML(OutputStream os, String uri) throws IOException
os - : write to this OutputStream. Will be closed at end of the method.uri - use this for the url attribute; if null use getLocation(). // ??IOException - if errorNcMLWriter.writeToStream(org.jdom2.Element, java.io.OutputStream)@Deprecated public void writeNcML(Writer writer, String uri) throws IOException
writer - : write to this Writer, should have encoding of UTF-8 if applicable. Will be closed at end of the
method.uri - use this for the url attribute; if null use getLocation().IOException - if errorNcMLWriter.writeToWriter(org.jdom2.Element, java.io.Writer)@Deprecated public boolean syncExtend() throws IOException
IOException - if error@Deprecated public long getLastModified()
FileCacheableFileFactory.getLastModified in interface FileCacheablelong value representing the time the file(s) were last modified or 0L if the
last-modified time couldn't be determined for any reason.@Deprecated public Attribute addAttribute(Group parent, Attribute att)
parent - add to this group. If group is null, use root groupatt - add this attribute@Deprecated public Attribute addAttribute(Group parent, String name, String value)
parent - add to this group. If group is null, use root groupname - attribute name, may not be nullvalue - attribute value, may be null, in which case, do not addd@Deprecated public Group addGroup(Group parent, Group g)
parent - add to this group. If group is null, use root groupg - add this group@Deprecated public void setRootGroup(Group rootGroup)
@Deprecated public Dimension addDimension(Group parent, Dimension d)
parent - add to this group. If group is null, use root groupd - add this Dimension@Deprecated public boolean removeDimension(Group g, String dimName)
g - remove from this group. If group is null, use root groupdimName - name of Dimension to remove.@Deprecated public Variable addVariable(Group g, Variable v)
g - add to this group. If group is null, use root groupv - add this Variable@Deprecated public Variable addVariable(Group g, String shortName, DataType dtype, String dims)
g - add to this group. If group is null, use root groupshortName - short name of the Variabledtype - data type of the Variabledims - list of dimension names@Deprecated public Variable addStringVariable(Group g, String shortName, String dims, int strlen)
g - add to this group. If group is null, use root groupshortName - short name of the Variabledims - list of dimension namesstrlen - dimension length of the inner (fastest changing) dimension@Deprecated public boolean removeVariable(Group g, String varName)
g - remove from this group. If group is null, use root groupvarName - name of variable to remove.@Deprecated public Attribute addVariableAttribute(Variable v, Attribute att)
v - add to this Variable.att - add this attribute@Deprecated public Object sendIospMessage(Object message)
message - iosp specific message
Special:
@Deprecated protected Boolean makeRecordStructure()
@Deprecated protected Boolean removeRecordStructure()
@Deprecated public void setId(String id)
id - the id@Deprecated public void setTitle(String title)
title - the title@Deprecated public void setLocation(String location)
location - the location@Deprecated public NetcdfFile setImmutable()
@Deprecated public void empty()
@Deprecated public void finish()
protected Array readData(Variable v, Section ranges) throws IOException, InvalidRangeException
IOExceptionInvalidRangeExceptionpublic Array readSection(String variableSection) throws IOException, InvalidRangeException
variableSection - the constraint expression.IOException - if errorInvalidRangeException - if variableSection is invalid@Deprecated protected long readToByteChannel(Variable v, Section section, WritableByteChannel wbc) throws IOException, InvalidRangeException
v - a top-level Variablesection - the section of data to read.
There must be a Range for each Dimension in the variable, in order.
Note: no nulls allowed. IOSP may not modify.wbc - write data to this WritableByteChannelIOException - if read errorInvalidRangeException - if invalid sectionprotected long readToOutputStream(Variable v, Section section, OutputStream out) throws IOException, InvalidRangeException
IOExceptionInvalidRangeExceptionprotected StructureDataIterator getStructureIterator(Structure s, int bufferSize) throws IOException
IOException@Deprecated public List<Array> readArrays(List<Variable> variables) throws IOException
variables - List of type VariableIOException - if read error@Deprecated public Array read(String variableSection, boolean flatten) throws IOException, InvalidRangeException
variableSection - the constraint expression.flatten - MUST BE TRUEIOException - if errorInvalidRangeException - if variableSection is invalidprotected String toStringDebug(Object o)
o - must be a Variable, Dimension, Attribute, or Group@Deprecated public String getDetailInfo()
@Deprecated public void getDetailInfo(Formatter f)
@Deprecated protected void showCached(Formatter f)
protected void showProxies(Formatter f)
@Deprecated public IOServiceProvider getIosp()
public String getFileTypeId()
public String getFileTypeDescription()
public String getFileTypeVersion()
@Deprecated public static String makeValidCdmObjectName(String shortName)
shortName - from this name@Deprecated public static String makeValidCDLName(String vname)
vname - the name@Deprecated public static String makeValidPathName(String vname)
vname - the name@Deprecated public static String makeValidSectionSpecName(String vname)
vname - the name@Deprecated public static String makeNameUnescaped(String vname)
vname - the escaped name@Deprecated protected static String makeFullName(CDMNode v)
v - the cdm node@Deprecated protected static String makeFullNameSectionSpec(CDMNode v)
v - the cdm node@Deprecated protected static String makeFullName(CDMNode node, String reservedChars)
node - the cdm nodereservedChars - the set of characters to escape@Deprecated protected String makeFullNameWithString(Group parent, String name)
parent - parent groupname - synthetic name stringpublic NetcdfFile.Builder<?> toBuilder()
protected NetcdfFile.Builder<?> addLocalFieldsToBuilder(NetcdfFile.Builder<? extends NetcdfFile.Builder<?>> b)
public static NetcdfFile.Builder<?> builder()