org.autoplot.cdf.CdfUtil

static methods supporting CdfFileDataSource

CdfUtil( )

Creates a new instance of CdfUtil


OPTION_INCLUDE_EMPTY_RECORDS

if "true", show empty records (true is default).


OPTION_IS_MASTER

if "true", then don't show the number of records.


OPTION_DEEP

if "true" then return more detailed descriptions in HTML


OPTION_DATA_ONLY

if "true" return only the data variables, not the support data.


OPTION_RANK_LIMIT

if greater than -1, then only read variables up to this rank.


doApplyAttributes

doApplyAttributes( java.util.Map attr1, org.das2.qds.MutablePropertyDataSet result, String os1, String constraint ) → void

apply the ISTP metadata to the dataset. This is used to implement master files, where metadata from one file can override the data within another. Do not use this, as its location will probably change.

Parameters

attr1 - the ISTP metadata
result - the data
os1 - if non-null, then modify the metadata for slice1
constraint - if non-null, then drop the render type.

Returns:

void (returns nothing)

[search for examples] [view on GitHub] [view on old javadoc]


getDimensions

getDimensions( gov.nasa.gsfc.spdf.cdfj.CDFReader cdf, String variableName ) → int[]

This is cdf.getDimensions( variableName ), but then check varies to see if varies[0] is false (for rvariables). This will return "new int[0]" for scalar quantities like density.

Parameters

cdf - a CDFReader
variableName - a String

Returns:

the dimensions for each record.

[search for examples] [view on GitHub] [view on old javadoc]


getPlottable

getPlottable( gov.nasa.gsfc.spdf.cdfj.CDFReader cdf, boolean dataOnly, int rankLimit ) → Map

Return a map where keys are the names of the variables, and values are descriptions.

Parameters

cdf - the cdf reader reference.
dataOnly - show only the DATA and not SUPPORT_DATA. Note I reclaimed this parameter because I wasn't using it.
rankLimit - show only variables with no more than this rank.

Returns:

map of parameter name to short description

[search for examples] [view on GitHub] [view on old javadoc]

getPlottable( gov.nasa.gsfc.spdf.cdfj.CDFReader cdf, java.util.Map options ) → LinkedHashMap
getPlottable( gov.nasa.gsfc.spdf.cdfj.CDFReader cdf, boolean dataOnly, int rankLimit, java.util.Map options ) → Map

getRange

getRange( java.util.HashMap attrs ) → DatumRange

returns the range of the data by looking for the SCALEMIN/SCALEMAX params, or the required VALIDMIN/VALIDMAX parameters. This is not used.

Parameters

attrs - the properties for the variable

Returns:

the range

[search for examples] [view on GitHub] [view on old javadoc]


getScaleType

getScaleType( java.util.HashMap attrs ) → String

Parameters

attrs - a java.util.HashMap

Returns:

java.lang.String

[search for examples] [view on GitHub] [view on old javadoc]


getStringDataType

getStringDataType( int type ) → String

return the data type for the encoding. From https://cdaweb.gsfc.nasa.gov/pub/software/cdf/doc/cdf380/cdf38ifd.pdf page 41.

Parameters

type - integer type, such as 44 for CDF_FLOAT

Returns:

string like "CDF_FLOAT"

[search for examples] [view on GitHub] [view on old javadoc]


hasAttribute

hasAttribute( gov.nasa.gsfc.spdf.cdfj.CDFReader cdf, String var, String attrname ) → boolean

return true if the attribute is set for the variable.

Parameters

cdf - the cdf file reader
var - the variable name
attrname - the attribute name.

Returns:

true if the attribute is set for the variable.

[search for examples] [view on GitHub] [view on old javadoc]


jvmMemory

jvmMemory( QDataSet ds ) → int

returns the amount of JVM memory in bytes occupied by the dataset. This is an approximation, calculated by taking the element type size (e.g. float=4 bytes) times the number of elements for the dataset. This does not include the memory consumed by DEPEND_0, etc.

Parameters

ds - the ArrayDataSet, or TrArrayDataSet, or BufferDataSet.

Returns:

the approximate memory consumption in bytes

[search for examples] [view on GitHub] [view on old javadoc]


loadVariable

loadVariable( gov.nasa.gsfc.spdf.cdfj.CDFReader cdf, String svariable ) → MutablePropertyDataSet

Return the named variable as a QDataSet. This does not look at the metadata for DEPEND_0, etc, and only adds metadata to represent time units (e.g. the data is in TT2000) and ordinal data.

Parameters

cdf - the value of CDF
svariable - name of the variable

Returns:

the dataset

[search for examples] [view on GitHub] [view on old javadoc]

loadVariable( gov.nasa.gsfc.spdf.cdfj.CDFReader cdf, String svariable, long recStart, long recCount, long recInterval, int slice1, ProgressMonitor mon ) → MutablePropertyDataSet

maybeAddValidRange

maybeAddValidRange( java.util.Map props, org.das2.qds.MutablePropertyDataSet ds ) → void

add the valid range only if it looks like it is correct. It must contain some of the data.

Parameters

props - the properties for the variable
ds - the dataset to which the valid range would be added.

Returns:

void (returns nothing)

[search for examples] [view on GitHub] [view on old javadoc]


maybeShorten

maybeShorten( String context, String name ) → String

abbreviate names, motivated by Cluster CDF files which have Data__C1_CP_PEA_3DRH_cnts with DEPEND_0 of time_tags__C1_CP_PEA_3DRH_cnts.

Parameters

context - a String
name - a String

Returns:

a String

[search for examples] [view on GitHub] [view on old javadoc]


wrapCdfData

Deprecated: use loadCdfVariable instead wrapCdfData( gov.nasa.gsfc.spdf.cdfj.CDFReader cdf, String svariable, long recStart, long recCount, long recInterval, int slice1, boolean depend, ProgressMonitor mon ) → MutablePropertyDataSet