au.csiro.netcdf
Class NcDefineVariable

java.lang.Object
  extended by au.csiro.netcdf.NcDefineVariable
All Implemented Interfaces:
Command

public class NcDefineVariable
extends Object
implements Command

The ncdefineVar command defines a Variable object in a netCDF file.

Copyright 2010, CSIRO Australia All rights reserved.

Version:
$Revision: 84 $ $Date: 2010-08-25 15:56:46 +1000 (Wed, 25 Aug 2010) $ $Id: NcDefineVariable.java 6525 2010-03-17 23:39:33Z che256 $
Author:
$Author: robertbridle $ on 17/03/2010

Field Summary
static String DIMENSION_NAMES
          The name of the command line option used for specifying the dimensions of the variable.
static String INPUT_FILE
          The name of the command line option used for specifying the input text file name.
static String IS_FILL_VARIABLE
          Ensure that any variable value not written will have the fill value, otherwise those values will be undefined: possibly zero, or possibly garbage.
static String IS_LARGE_FILE
          Whether the netCDF file should be written with large file support, that is, 64-bit addressing for files greater than 2 GB.
static String NC_DEFINE_VAR_COMMAND_NAME
          The command name
static String OUTPUT_FILE
          The name of the command line option used for specifying the output netCDF file name.
static String VARIABLE_ATTRIBUTES
          The name of the command line option used for specifying the attributes of the variable.
static String VARIABLE_DATA_TYPE
          The name of the command line option used for specifying the data type of the variable.
static String VARIABLE_NAME
          The name of the command line option used for specifying the name of the variable.
 
Fields inherited from interface au.csiro.netcdf.cli.Command
MAX_32BIT_OFFSET_FILE_SIZE, PRINT_WIDTH
 
Constructor Summary
NcDefineVariable()
          Constructor
 
Method Summary
 org.apache.commons.cli.Options createOptions()
          Create the command line options for this command.
 void execute(File outputFilename, String variableName, DataType variableDataType, List<Attribute> variableAttributes, String dimensionNamesString, boolean isLargeFileSupport, boolean isFillVariable)
          Allows the command to be run programmatically, instead of from a command line.
 void execute(String[] args)
          Run the command.
 String getCommandName()
           
static Set<DataType> getNetCDF3DataTypes()
           
 String getUsageString()
           
static void setNetCDF3DataTypes(Set<DataType> netCDF3DataTypes)
           
 String toString()
           
 String validCommand(String[] commandLine)
          Determine if this command is valid, check its syntax.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NC_DEFINE_VAR_COMMAND_NAME

public static final String NC_DEFINE_VAR_COMMAND_NAME
The command name

See Also:
Constant Field Values

OUTPUT_FILE

public static final String OUTPUT_FILE
The name of the command line option used for specifying the output netCDF file name.

See Also:
Constant Field Values

INPUT_FILE

public static final String INPUT_FILE
The name of the command line option used for specifying the input text file name.

See Also:
Constant Field Values

VARIABLE_NAME

public static final String VARIABLE_NAME
The name of the command line option used for specifying the name of the variable.

See Also:
Constant Field Values

VARIABLE_DATA_TYPE

public static final String VARIABLE_DATA_TYPE
The name of the command line option used for specifying the data type of the variable.

See Also:
Constant Field Values

VARIABLE_ATTRIBUTES

public static final String VARIABLE_ATTRIBUTES
The name of the command line option used for specifying the attributes of the variable.

See Also:
Constant Field Values

DIMENSION_NAMES

public static final String DIMENSION_NAMES
The name of the command line option used for specifying the dimensions of the variable.

See Also:
Constant Field Values

IS_LARGE_FILE

public static final String IS_LARGE_FILE
Whether the netCDF file should be written with large file support, that is, 64-bit addressing for files greater than 2 GB.

See Also:
Constant Field Values

IS_FILL_VARIABLE

public static final String IS_FILL_VARIABLE
Ensure that any variable value not written will have the fill value, otherwise those values will be undefined: possibly zero, or possibly garbage.

See Also:
Constant Field Values
Constructor Detail

NcDefineVariable

public NcDefineVariable()
Constructor

Method Detail

execute

public void execute(String[] args)
             throws IllegalArgumentException,
                    IOException,
                    org.apache.commons.cli.ParseException
Description copied from interface: Command
Run the command.

Specified by:
execute in interface Command
Parameters:
args - command line arguments.
Throws:
IOException - thrown if netCDF can to be written to or read from.
org.apache.commons.cli.ParseException - thrown if the command line arguments can not be parsed.
IllegalArgumentException

execute

public void execute(File outputFilename,
                    String variableName,
                    DataType variableDataType,
                    List<Attribute> variableAttributes,
                    String dimensionNamesString,
                    boolean isLargeFileSupport,
                    boolean isFillVariable)
             throws IOException
Allows the command to be run programmatically, instead of from a command line.

Parameters:
outputFilename - the netCDF file in which to define a dimension.
variableName - the name of the variable, this value will be used to reference the dimension.
variableDataType - the data type of the variable.
variableAttributes - a attributes of the variable.
dimensionNamesString - a whitespace separated list of dimension names, or '*' for Dimension.UNKNOWN. A null or empty String is a scalar.
isLargeFileSupport - whether the netCDF file should be written with large file support, i.e. 64-bit addressing for files greater than 2 GB.
isFillVariable - whether unwritten variable values should have the fill value.
Throws:
IOException - thrown if netCDF can not be written to or read from.

getCommandName

public String getCommandName()
Specified by:
getCommandName in interface Command
Returns:
the command name for this command.

toString

public String toString()
Overrides:
toString in class Object

createOptions

public org.apache.commons.cli.Options createOptions()
Description copied from interface: Command
Create the command line options for this command.

Specified by:
createOptions in interface Command
Returns:
the command line options for this command.

getUsageString

public String getUsageString()
Specified by:
getUsageString in interface Command
Returns:
the usage for this command.

validCommand

public String validCommand(String[] commandLine)
Description copied from interface: Command
Determine if this command is valid, check its syntax.

Specified by:
validCommand in interface Command
Parameters:
commandLine - command line arguments.
Returns:
error if found.

getNetCDF3DataTypes

public static Set<DataType> getNetCDF3DataTypes()
Returns:
the netCDF3DataTypes

setNetCDF3DataTypes

public static void setNetCDF3DataTypes(Set<DataType> netCDF3DataTypes)
Parameters:
netCDF3DataTypes - the netCDF3DataTypes to set


Copyright © 2010. All Rights Reserved.