ucar.nc2.ft.grid
Interface Grid


public interface Grid

Experimental Grid fetaure type TODO has extra dimension(s)

Since:
Jan 19, 2010
Author:
caron

Method Summary
 Attribute findAttributeIgnoreCase(String name)
          Convenience function; lookup Attribute by name.
 String findAttValueIgnoreCase(String attName, String defaultValue)
          Convenience function; lookup Attribute value by name.
 List<Attribute> getAttributes()
          Get a List of Attribute specific to the Grid
 GridCoordSystem getCoordinateSystem()
          get the Grid's Coordinate System.
 DataType getDataType()
          get the data type
 String getDescription()
          Get the description/long_name of the Grid
 Dimension getDimension(int i)
          get the ith dimension
 List<Dimension> getDimensions()
          Returns a List of Dimension containing the dimensions used by this grid.
 String getInfo()
          human readable information about this Grid.
 MAMath.MinMax getMinMaxSkipMissingData(Array data)
          Get the minimum and the maximum data value of the previously read Array, skipping missing values as defined by isMissingData(double val).
 String getName()
          Get the name of the Grid
 ProjectionImpl getProjection()
          get the Projection, if it exists.
 int getRank()
          get the rank
 int[] getShape()
          get the shape (canonical ordering)
 String getUnitsString()
          Get the unit string
 VariableDS getVariable()
          Get the underlying Variable, if it exists.
 boolean hasMissingData()
          true if there may be missing data
 boolean isMissingData(double val)
          if val is missing data
 Grid makeSubset(Range rt_range, Range e_range, Range t_range, Range z_range, Range y_range, Range x_range)
          Create a new GeoGrid that is a logical subset of this GeoGrid.
 Array readDataSlice(int rt_index, int e_index, int t_index, int z_index, int y_index, int x_index)
          This reads an arbitrary data slice, returning the data in canonical order (rt-e-t-z-y-x).
 

Method Detail

getName

String getName()
Get the name of the Grid

Returns:
the name of the Grid

getDescription

String getDescription()
Get the description/long_name of the Grid

Returns:
the description/long_name of the Grid

getUnitsString

String getUnitsString()
Get the unit string

Returns:
the unit string

getDataType

DataType getDataType()
get the data type

Returns:
the data type

getRank

int getRank()
get the rank

Returns:
the rank

getShape

int[] getShape()
get the shape (canonical ordering)

Returns:
the shape (canonical ordering)

getAttributes

List<Attribute> getAttributes()
Get a List of Attribute specific to the Grid

Returns:
a List of Attribute

findAttributeIgnoreCase

Attribute findAttributeIgnoreCase(String name)
Convenience function; lookup Attribute by name.

Parameters:
name - the name of the attribute
Returns:
the attribute, or null if not found

findAttValueIgnoreCase

String findAttValueIgnoreCase(String attName,
                              String defaultValue)
Convenience function; lookup Attribute value by name. Must be String valued

Parameters:
attName - name of the attribute
defaultValue - if not found, use this as the default
Returns:
Attribute string value, or default if not found.

getDimensions

List<Dimension> getDimensions()
Returns a List of Dimension containing the dimensions used by this grid. The dimension are put into canonical order: (rt, e, t, z, y, x). Only the x and y are required. If the Horizontal axes are 2D, the x and y dimensions are arbitrarily chosen to be gcs.getXHorizAxis().getDimension(1), gcs.getXHorizAxis().getDimension(0), respectively.

Returns:
List with objects of type Dimension, in canonical order.

getDimension

Dimension getDimension(int i)
get the ith dimension

Parameters:
i - index of dimension
Returns:
the ith dimension

getCoordinateSystem

GridCoordSystem getCoordinateSystem()
get the Grid's Coordinate System.

Returns:
the Grid's Coordinate System.

getProjection

ProjectionImpl getProjection()
get the Projection, if it exists.

Returns:
the Projection, or null

hasMissingData

boolean hasMissingData()
true if there may be missing data

Returns:
true if there may be missing data

isMissingData

boolean isMissingData(double val)
if val is missing data

Parameters:
val - test this value
Returns:
true if val is missing data

getMinMaxSkipMissingData

MAMath.MinMax getMinMaxSkipMissingData(Array data)
Get the minimum and the maximum data value of the previously read Array, skipping missing values as defined by isMissingData(double val).

Parameters:
data - Array to get min/max values
Returns:
both min and max value.

readDataSlice

Array readDataSlice(int rt_index,
                    int e_index,
                    int t_index,
                    int z_index,
                    int y_index,
                    int x_index)
                    throws IOException
This reads an arbitrary data slice, returning the data in canonical order (rt-e-t-z-y-x). If any dimension does not exist, ignore it.

Parameters:
rt_index - if < 0, get all of runtime dim; if valid index, fix slice to that value.
e_index - if < 0, get all of ensemble dim; if valid index, fix slice to that value.
t_index - if < 0, get all of time dim; if valid index, fix slice to that value.
z_index - if < 0, get all of z dim; if valid index, fix slice to that value.
y_index - if < 0, get all of y dim; if valid index, fix slice to that value.
x_index - if < 0, get all of x dim; if valid index, fix slice to that value.
Returns:
data[rt,e,t,z,y,x], eliminating missing or fixed dimension.
Throws:
IOException - on io error

makeSubset

Grid makeSubset(Range rt_range,
                Range e_range,
                Range t_range,
                Range z_range,
                Range y_range,
                Range x_range)
                throws InvalidRangeException
Create a new GeoGrid that is a logical subset of this GeoGrid.

Parameters:
rt_range - subset the runtime dimension, or null if you want all of it
e_range - subset the ensemble dimension, or null if you want all of it
t_range - subset the time dimension, or null if you want all of it
z_range - subset the vertical dimension, or null if you want all of it
y_range - subset the y dimension, or null if you want all of it
x_range - subset the x dimension, or null if you want all of it
Returns:
subsetted GeoGrid
Throws:
InvalidRangeException - if ranges are invlaid

getInfo

String getInfo()
human readable information about this Grid.

Returns:
human readable information about this Grid.

getVariable

VariableDS getVariable()
Get the underlying Variable, if it exists.

Returns:
the underlying Variable, if it exists, else null


Copyright © 1999-2011 UCAR/Unidata. All Rights Reserved.