<h2>org.autoplot.idlsupport.ReadIDLSav</h2><p>Read data from IDL Save Files.  This was written using
 http://www.physics.wisc.edu/~craigm/idl/savefmt/node20.html
 https://cow.physics.wisc.edu/~craigm/idl/savefmt.pdf
 and https://github.com/scipy/scipy/blob/master/scipy/io/idl.py
 for reference, and with no involvement from individuals at
 Harris Geospacial.  No warranties are implied and this must
 be used at your own risk.
 
 <pre>{@code
 from  org.autoplot.idlsupport import ReadIDLSav
 reader= ReadIDLSav()
 aFile= File('/tmp/aDataFile.sav')
 inChannel = aFile.getChannel
 fileSize = inChannel.size()
 buffer = ByteBuffer.allocate( inChannel.size() )
 bytesRead= 0;
 while ( bytesRead<fileSize ) :
       bytesRead+= inChannel.read(buffer)
 v= reader.readVar( buffer, 'avar' )
 }</pre></p>
<h2>ReadIDLSav( )</h2>
<p></p>

<hr>
<a name="TYPECODE_COMPLEX_FLOAT_SCALAR"></a>
<h2>TYPECODE_COMPLEX_FLOAT_SCALAR</h2>
<p></p>

<hr>
<a name="TYPECODE_BYTE"></a>
<h2>TYPECODE_BYTE</h2>
<p></p>

<hr>
<a name="TYPECODE_INT16"></a>
<h2>TYPECODE_INT16</h2>
<p></p>

<hr>
<a name="TYPECODE_INT32"></a>
<h2>TYPECODE_INT32</h2>
<p></p>

<hr>
<a name="TYPECODE_FLOAT"></a>
<h2>TYPECODE_FLOAT</h2>
<p></p>

<hr>
<a name="TYPECODE_DOUBLE"></a>
<h2>TYPECODE_DOUBLE</h2>
<p></p>

<hr>
<a name="TYPECODE_COMPLEX_FLOAT"></a>
<h2>TYPECODE_COMPLEX_FLOAT</h2>
<p></p>

<hr>
<a name="TYPECODE_STRING"></a>
<h2>TYPECODE_STRING</h2>
<p></p>

<hr>
<a name="TYPECODE_STRUCT"></a>
<h2>TYPECODE_STRUCT</h2>
<p></p>

<hr>
<a name="TYPECODE_COMPLEX_DOUBLE"></a>
<h2>TYPECODE_COMPLEX_DOUBLE</h2>
<p></p>

<hr>
<a name="TYPECODE_INT64"></a>
<h2>TYPECODE_INT64</h2>
<p></p>

<hr>
<a name="TYPECODE_UINT64"></a>
<h2>TYPECODE_UINT64</h2>
<p></p>

<hr>
<a name="checkMagic"></a>
<h2>checkMagic</h2>
checkMagic( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html'>java.nio.channels.FileChannel</a> inChannel ) &rarr; boolean

<p></p>

<h3>Parameters</h3>
inChannel - a FileChannel

<h3>Returns:</h3>
boolean

<br><br>
<a href="https://github.com/autoplot/dev/search?q=checkMagic&unscoped_q=checkMagic">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#checkMagic">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="decodeTypeCode"></a>
<h2>decodeTypeCode</h2>
decodeTypeCode( int typeCode ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>return a string representing the type code, if supported.</p>

<h3>Parameters</h3>
typeCode - for example 4 which means float or 7 which means string.

<h3>Returns:</h3>
"float" or "string" or whatever the code is, or the numeric code if not supported.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=decodeTypeCode&unscoped_q=decodeTypeCode">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#decodeTypeCode">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="isArray"></a>
<h2>isArray</h2>
isArray( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> in, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name ) &rarr; boolean

<p>return true if the name refers to an array</p>

<h3>Parameters</h3>
in - ByteBuffer for the entire file
<br>
name - the variable name

<h3>Returns:</h3>
td.isStructure();
<br><br>
<a href="https://github.com/autoplot/dev/search?q=isArray&unscoped_q=isArray">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#isArray">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="isStructure"></a>
<h2>isStructure</h2>
isStructure( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> in, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name ) &rarr; boolean

<p>return true if the name refers to a structure</p>

<h3>Parameters</h3>
in - ByteBuffer for the entire file
<br>
name - the variable name

<h3>Returns:</h3>
true if the name refers to a structure
<br><br>
<a href="https://github.com/autoplot/dev/search?q=isStructure&unscoped_q=isStructure">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#isStructure">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="readArrayDataIntoArrayOfArrays"></a>
<h2>readArrayDataIntoArrayOfArrays</h2>
readArrayDataIntoArrayOfArrays( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/idlsupport/ReadIDLSav/ArrayData.html'>org.autoplot.idlsupport.ReadIDLSav.ArrayData</a> data ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html'>Object</a>

<p>read the data into 1-D and 2-D arrays.  This is provided for reference, but 
 can be extended to 3-D and higher arrays, if the need arrises.</p>

<h3>Parameters</h3>
data - a ReadIDLSav.ArrayData

<h3>Returns:</h3>
an Object

<br><br>
<a href="https://github.com/autoplot/dev/search?q=readArrayDataIntoArrayOfArrays&unscoped_q=readArrayDataIntoArrayOfArrays">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readArrayDataIntoArrayOfArrays">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="readFileIntoByteBuffer"></a>
<h2>readFileIntoByteBuffer</h2>
readFileIntoByteBuffer( <a href='https://docs.oracle.com/javase/8/docs/api/java/io/File.html'>java.io.File</a> f ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a>

<p></p>

<h3>Parameters</h3>
f - a File

<h3>Returns:</h3>
java.nio.ByteBuffer

<br><br>
<a href="https://github.com/autoplot/dev/search?q=readFileIntoByteBuffer&unscoped_q=readFileIntoByteBuffer">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readFileIntoByteBuffer">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="readFileIntoChannel"></a>
<h2>readFileIntoChannel</h2>
readFileIntoChannel( <a href='https://docs.oracle.com/javase/8/docs/api/java/io/File.html'>java.io.File</a> f ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html'>java.nio.channels.FileChannel</a>

<p></p>

<h3>Parameters</h3>
f - a File

<h3>Returns:</h3>
java.nio.channels.FileChannel

<br><br>
<a href="https://github.com/autoplot/dev/search?q=readFileIntoChannel&unscoped_q=readFileIntoChannel">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readFileIntoChannel">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="readStructDesc"></a>
<h2>readStructDesc</h2>
readStructDesc( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> rec, long fileOffset ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/idlsupport/ReadIDLSav/StructDesc.html'>org.autoplot.idlsupport.ReadIDLSav.StructDesc</a>

<p></p>

<h3>Parameters</h3>
rec - a ByteBuffer
<br>
fileOffset - a long

<h3>Returns:</h3>
org.autoplot.idlsupport.ReadIDLSav.StructDesc

<br><br>
<a href="https://github.com/autoplot/dev/search?q=readStructDesc&unscoped_q=readStructDesc">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readStructDesc">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="readTagDesc"></a>
<h2>readTagDesc</h2>
readTagDesc( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> in, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/idlsupport/ReadIDLSav/TagDesc.html'>org.autoplot.idlsupport.ReadIDLSav.TagDesc</a>

<p>scan through the IDLSav and retrieve information about the array.</p>

<h3>Parameters</h3>
in - the idlsav loaded into a ByteBuffer.
<br>
name - the name of the array

<h3>Returns:</h3>
an org.autoplot.idlsupport.ReadIDLSav.TagDesc

<br><br>
<a href="https://github.com/autoplot/dev/search?q=readTagDesc&unscoped_q=readTagDesc">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readTagDesc">[view on old javadoc]</a>
<br>
<br>
readTagDesc( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html'>java.nio.channels.FileChannel</a> inch, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/idlsupport/ReadIDLSav/TagDesc.html'>org.autoplot.idlsupport.ReadIDLSav.TagDesc</a><br>
<hr>
<a name="readVar"></a>
<h2>readVar</h2>
readVar( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> in, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html'>Object</a>

<p>scan through the IDLSav and return just the one variable.</p>

<h3>Parameters</h3>
in - the IDLSav mapped into a NIO ByteBuffer.
<br>
name - the variable name to look for.

<h3>Returns:</h3>
an Object

<br><br>
<a href="https://github.com/autoplot/dev/search?q=readVar&unscoped_q=readVar">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readVar">[view on old javadoc]</a>
<br>
<br>
readVar( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html'>java.nio.channels.FileChannel</a> inch, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html'>Object</a><br>
<hr>
<a name="readVarNames"></a>
<h2>readVarNames</h2>
readVarNames( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> in ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a>

<p>list the names in the IDLSav file.  This is only the supported
 variable types.</p>

<h3>Parameters</h3>
in - a ByteBuffer

<h3>Returns:</h3>
the names found.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=readVarNames&unscoped_q=readVarNames">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readVarNames">[view on old javadoc]</a>
<br>
<br>
readVarNames( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html'>java.nio.channels.FileChannel</a> inChannel ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a><br>
<hr>
<a name="readVars"></a>
<h2>readVars</h2>
readVars( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html'>java.nio.ByteBuffer</a> in ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/util/Map.html'>java.util.Map</a>

<p></p>

<h3>Parameters</h3>
in - a ByteBuffer

<h3>Returns:</h3>
java.util.Map

<br><br>
<a href="https://github.com/autoplot/dev/search?q=readVars&unscoped_q=readVars">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/idlsupport/ReadIDLSav.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/idlsupport/ReadIDLSav.html#readVars">[view on old javadoc]</a>
<br>
<br>
readVars( <a href='https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html'>java.nio.channels.FileChannel</a> inChannel ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/util/Map.html'>java.util.Map</a><br>