Package ucar.nc2.dataset
Class CoordSysBuilder
- java.lang.Object
-
- ucar.nc2.dataset.CoordSysBuilder
-
- All Implemented Interfaces:
CoordSysBuilderIF
- Direct Known Subclasses:
ADASConvention
,ATDRadarConvention
,AvhrrConvention
,AWIPSConvention
,AWIPSsatConvention
,COARDSConvention
,Cosmic1Convention
,DefaultConvention
,EpicInsitu
,FslWindProfiler
,GIEFConvention
,HdfEosModisConvention
,HdfEosOmiConvention
,IFPSConvention
,Jason2Convention
,M3IOConvention
,MADISStation
,ModisSatellite
,NppConvention
,NsslRadarMosaicConvention
,NUWGConvention
,Suomi
,UnidataObsConvention
,WRFConvention
@Deprecated public class CoordSysBuilder extends Object implements CoordSysBuilderIF
Deprecated.do not useAbstract class for implementing Convention-specific parsing of netCDF files.You can use an NcML file alone (use registerNcML()) if file uses a convention attribute. If not, you must implement a class that implements isMine() to identify your files, and call wrapNcML in the augmentDataset method (see eg ATDRadarConvention class).
Subclasses Info:
// identify which variables are coordinate axes // default: 1) coordinate variables 2) variables with _coordinateAxisType attribute 3) variables listed // in a coordinates attribute on another variable. findCoordinateAxes(ncDataset); // identify which variables are used to describe coordinate system findCoordinateSystems(ncDataset); // identify which variables are used to describe coordinate transforms findCoordinateTransforms(ncDataset); // turn Variables into CoordinateAxis objects makeCoordinateAxes(ncDataset); // make Coordinate Systems for all Coordinate Systems Variables makeCoordinateSystems(ncDataset); // Assign explicit CoordinateSystem objects to variables assignExplicitCoordinateSystems(ncDataset); makeCoordinateSystemsImplicit(ncDataset); if (useMaximalCoordSys) makeCoordinateSystemsMaximal(ncDataset); makeCoordinateTransforms(ncDataset); assignCoordinateTransforms(ncDataset);
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
CoordSysBuilder.ConventionNameOk
Deprecated.do not useclass
CoordSysBuilder.VarProcess
Deprecated.Wrap each variable in the dataset with a VarProcess object.
-
Field Summary
Fields Modifier and Type Field Description protected String
conventionName
Deprecated.protected Map<Dimension,List<CoordSysBuilder.VarProcess>>
coordVarMap
Deprecated.protected boolean
debug
Deprecated.protected static org.slf4j.Logger
log
Deprecated.protected Formatter
parseInfo
Deprecated.static String
resourcesDir
Deprecated.protected Formatter
userAdvice
Deprecated.protected List<CoordSysBuilder.VarProcess>
varList
Deprecated.
-
Constructor Summary
Constructors Constructor Description CoordSysBuilder()
Deprecated.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
addCoordinateVariable(Dimension dim, CoordSysBuilder.VarProcess vp)
Deprecated.void
addUserAdvice(String advice)
Deprecated.Give advice for a user trying to figure out why things arent workingprotected void
assignCoordinateSystemsExplicit(NetcdfDataset ncDataset)
Deprecated.Assign explicit CoordinateSystem objects to variables.protected void
assignCoordinateTransforms(NetcdfDataset ncDataset)
Deprecated.Assign CoordinateTransform objects to Coordinate Systems.void
augmentDataset(NetcdfDataset ncDataset, CancelTask cancelTask)
Deprecated.Make changes to the dataset that are needed before processing scale/offset in NetcdfDataset.static List<String>
breakupConventionNames(String convAttValue)
Deprecated.Breakup list of Convention names in the Convention attribute in CF compliant way.static String
buildConventionAttribute(String mainConv, String... convAtts)
Deprecated.Build a list of Conventionsvoid
buildCoordinateSystems(NetcdfDataset ncDataset)
Deprecated.Heres where the work is to identify coordinate axes and coordinate systems.static CoordSysBuilderIF
factory(NetcdfDataset ds, CancelTask cancelTask)
Deprecated.Get a CoordSysBuilder whose job it is to add Coordinate information to a NetcdfDataset.protected void
findCoordinateAxes(NetcdfDataset ncDataset)
Deprecated.Identify coordinate axes, set VarProcess.isCoordinateAxis = true.protected CoordSysBuilder.VarProcess
findCoordinateAxis(String name)
Deprecated.protected void
findCoordinateSystems(NetcdfDataset ncDataset)
Deprecated.Identify coordinate systems, set VarProcess.isCoordinateSystem = true.protected void
findCoordinateTransforms(NetcdfDataset ncDataset)
Deprecated.Identify coordinate transforms, set VarProcess.isCoordinateTransform = true.protected CoordSysBuilder.VarProcess
findVarProcess(String name, CoordSysBuilder.VarProcess from)
Deprecated.protected AxisType
getAxisType(NetcdfDataset ncDataset, VariableEnhanced v)
Deprecated.Identify what kind of AxisType the named variable is.String
getConventionUsed()
Deprecated.Get the name of the Convention.String
getParseInfo()
Deprecated.Detailed information when the coordinate systems were parsedstatic boolean
getUseMaximalCoordSys()
Deprecated.Get whether to make records into Structures.String
getUserAdvice()
Deprecated.Specific advice to a user about problems with the coordinate information in the file.protected boolean
isCoordinateAxisForVariable(Variable axis, Variable v)
Deprecated.Does this axis "fit" this variable.protected void
makeCoordinateAxes(NetcdfDataset ncDataset)
Deprecated.Take previously identified Coordinate Axis and Coordinate Variables and make them into a CoordinateAxis.protected void
makeCoordinateSystems(NetcdfDataset ncDataset)
Deprecated.Take all previously identified Coordinate Systems and create a CoordinateSystem object.protected void
makeCoordinateSystemsImplicit(NetcdfDataset ncDataset)
Deprecated.Make implicit CoordinateSystem objects for variables that dont already have one, by using the variables' list of coordinate axes, and any coordinateVariables for it.protected void
makeCoordinateSystemsMaximal(NetcdfDataset ncDataset)
Deprecated.If a variable still doesnt have a coordinate system, use hueristics to try to find one that was probably forgotten.protected CoordinateTransform
makeCoordinateTransform(NetcdfDataset ds, Variable ctv)
Deprecated.protected void
makeCoordinateTransforms(NetcdfDataset ncDataset)
Deprecated.Take all previously identified Coordinate Transforms and create a CoordinateTransform object by calling CoordTransBuilder.makeCoordinateTransform().protected VariableDS
makeCoordinateTransformVariable(NetcdfDataset ds, CoordinateTransform ct)
Deprecated.static void
registerConvention(String conventionName, Class c)
Deprecated.Register a class that implements a Convention.static void
registerConvention(String conventionName, Class c, CoordSysBuilder.ConventionNameOk match)
Deprecated.Register a class that implements a Convention.static void
registerConvention(String conventionName, String className)
Deprecated.Register a class that implements a Convention.static void
registerNcML(String conventionName, String ncmlLocation)
Deprecated.Register an NcML file that implements a Convention by wrappping the dataset in the NcML.void
setConventionUsed(String convName)
Deprecated.Pass in the name of the Convention used to locate this CoordSysBuilderIF.static void
setUseMaximalCoordSys(boolean b)
Deprecated.If true, assign implicit CoordinateSystem objects to variables that dont have one yet.
-
-
-
Field Detail
-
resourcesDir
public static final String resourcesDir
Deprecated.- See Also:
- Constant Field Values
-
log
protected static org.slf4j.Logger log
Deprecated.
-
conventionName
protected String conventionName
Deprecated.
-
varList
protected List<CoordSysBuilder.VarProcess> varList
Deprecated.
-
coordVarMap
protected Map<Dimension,List<CoordSysBuilder.VarProcess>> coordVarMap
Deprecated.
-
parseInfo
protected Formatter parseInfo
Deprecated.
-
userAdvice
protected Formatter userAdvice
Deprecated.
-
debug
protected boolean debug
Deprecated.
-
-
Method Detail
-
registerNcML
public static void registerNcML(String conventionName, String ncmlLocation)
Deprecated.Register an NcML file that implements a Convention by wrappping the dataset in the NcML. It is then processed by CoordSysBuilder, using the _Coordinate attributes.- Parameters:
conventionName
- name of Convention, must be in the "Conventions" global attribute.ncmlLocation
- location of NcML file, may be local file or URL.- See Also:
NcMLReader.wrapNcML(ucar.nc2.dataset.NetcdfDataset, java.lang.String, ucar.nc2.util.CancelTask)
-
registerConvention
public static void registerConvention(String conventionName, Class c)
Deprecated.Register a class that implements a Convention. Will match (ignoring case) the COnvention name.- Parameters:
conventionName
- name of Convention. This name will be used to look in the "Conventions" global attribute. Otherwise, you must implement the isMine() static method.c
- implementation of CoordSysBuilderIF that parses those kinds of netcdf files.
-
registerConvention
public static void registerConvention(String conventionName, Class c, CoordSysBuilder.ConventionNameOk match)
Deprecated.Register a class that implements a Convention.- Parameters:
conventionName
- name of Convention. This name will be used to look in the "Conventions" global attribute. Otherwise, you must implement the isMine() static method.match
- pass in your own matcher. if null, equalsIgnoreCase() will be used.c
- implementation of CoordSysBuilderIF that parses those kinds of netcdf files.
-
registerConvention
public static void registerConvention(String conventionName, String className) throws ClassNotFoundException
Deprecated.Register a class that implements a Convention.- Parameters:
conventionName
- name of Convention. This name will be used to look in the "Conventions" global attribute. Otherwise, you must implement the isMine() static method.className
- name of class that implements CoordSysBuilderIF.- Throws:
ClassNotFoundException
- if class could not be loaded
-
setUseMaximalCoordSys
public static void setUseMaximalCoordSys(boolean b)
Deprecated.If true, assign implicit CoordinateSystem objects to variables that dont have one yet. Default value is false.- Parameters:
b
- true if if you want to guess at Coordinate Systems- See Also:
makeCoordinateSystemsMaximal(ucar.nc2.dataset.NetcdfDataset)
-
getUseMaximalCoordSys
public static boolean getUseMaximalCoordSys()
Deprecated.Get whether to make records into Structures.- Returns:
- whether to make records into Structures.
-
breakupConventionNames
public static List<String> breakupConventionNames(String convAttValue)
Deprecated.Breakup list of Convention names in the Convention attribute in CF compliant way.- Parameters:
convAttValue
- original value of Convention attribute- Returns:
- list of Convention names
-
buildConventionAttribute
public static String buildConventionAttribute(String mainConv, String... convAtts)
Deprecated.Build a list of Conventions- Parameters:
mainConv
- this is the main conventionconvAtts
- list of others, onbly use "extra" Conventions- Returns:
- comma separated list of Conventions
-
factory
@Nonnull public static CoordSysBuilderIF factory(NetcdfDataset ds, CancelTask cancelTask) throws IOException
Deprecated.Get a CoordSysBuilder whose job it is to add Coordinate information to a NetcdfDataset.- Parameters:
ds
- the NetcdfDataset to modifycancelTask
- allow user to bail out.- Returns:
- the builder used
- Throws:
IOException
- on io error
-
setConventionUsed
public void setConventionUsed(String convName)
Deprecated.Description copied from interface:CoordSysBuilderIF
Pass in the name of the Convention used to locate this CoordSysBuilderIF.- Specified by:
setConventionUsed
in interfaceCoordSysBuilderIF
- Parameters:
convName
- the name of the Convention
-
getConventionUsed
public String getConventionUsed()
Deprecated.Description copied from interface:CoordSysBuilderIF
Get the name of the Convention. In the case where the Convention attribute is not set in the file, this name cannot be used to identify the Convention. The isMine() method is called instead.- Specified by:
getConventionUsed
in interfaceCoordSysBuilderIF
- Returns:
- Convention name
-
addUserAdvice
public void addUserAdvice(String advice)
Deprecated.Description copied from interface:CoordSysBuilderIF
Give advice for a user trying to figure out why things arent working- Specified by:
addUserAdvice
in interfaceCoordSysBuilderIF
- Parameters:
advice
- add this advice to the User Advice String
-
getParseInfo
public String getParseInfo()
Deprecated.Description copied from interface:CoordSysBuilderIF
Detailed information when the coordinate systems were parsed- Specified by:
getParseInfo
in interfaceCoordSysBuilderIF
- Returns:
- String containing parsing info
-
getUserAdvice
public String getUserAdvice()
Deprecated.Description copied from interface:CoordSysBuilderIF
Specific advice to a user about problems with the coordinate information in the file.- Specified by:
getUserAdvice
in interfaceCoordSysBuilderIF
- Returns:
- String containing advice to a user about problems with the coordinate information in the file.
-
augmentDataset
public void augmentDataset(NetcdfDataset ncDataset, CancelTask cancelTask) throws IOException
Deprecated.Description copied from interface:CoordSysBuilderIF
Make changes to the dataset that are needed before processing scale/offset in NetcdfDataset.- Specified by:
augmentDataset
in interfaceCoordSysBuilderIF
- Parameters:
ncDataset
- modify this datasetcancelTask
- give user a chance to bail out- Throws:
IOException
- on error
-
getAxisType
protected AxisType getAxisType(NetcdfDataset ncDataset, VariableEnhanced v)
Deprecated.Identify what kind of AxisType the named variable is. Only called for variables already identified as Coordinate Axes. Default null - subclasses can override.- Parameters:
ncDataset
- for this datasetv
- a variable alreaddy identified as a Coodinate Axis- Returns:
- AxisType or null if unknown.
-
buildCoordinateSystems
public void buildCoordinateSystems(NetcdfDataset ncDataset)
Deprecated.Heres where the work is to identify coordinate axes and coordinate systems.- Specified by:
buildCoordinateSystems
in interfaceCoordSysBuilderIF
- Parameters:
ncDataset
- modify this dataset
-
findCoordinateAxes
protected void findCoordinateAxes(NetcdfDataset ncDataset)
Deprecated.Identify coordinate axes, set VarProcess.isCoordinateAxis = true. Default is to look for those referenced by _CoordinateAxes attribute. Note coordinate variables are already identified.- Parameters:
ncDataset
- why
-
findCoordinateSystems
protected void findCoordinateSystems(NetcdfDataset ncDataset)
Deprecated.Identify coordinate systems, set VarProcess.isCoordinateSystem = true. Default is to look for those referenced by _CoordinateSystems attribute.- Parameters:
ncDataset
- why
-
findCoordinateTransforms
protected void findCoordinateTransforms(NetcdfDataset ncDataset)
Deprecated.Identify coordinate transforms, set VarProcess.isCoordinateTransform = true. Default is to look for those referenced by _CoordinateTransforms attribute ( or has a _CoordinateTransformType attribute, done in VarProcess constructor)- Parameters:
ncDataset
- why
-
makeCoordinateAxes
protected void makeCoordinateAxes(NetcdfDataset ncDataset)
Deprecated.Take previously identified Coordinate Axis and Coordinate Variables and make them into a CoordinateAxis. Uses the getAxisType() method to figure out the type, if not already set.- Parameters:
ncDataset
- containing dataset
-
makeCoordinateSystems
protected void makeCoordinateSystems(NetcdfDataset ncDataset)
Deprecated.Take all previously identified Coordinate Systems and create a CoordinateSystem object.- Parameters:
ncDataset
- why
-
assignCoordinateSystemsExplicit
protected void assignCoordinateSystemsExplicit(NetcdfDataset ncDataset)
Deprecated.Assign explicit CoordinateSystem objects to variables.- Parameters:
ncDataset
- why
-
makeCoordinateSystemsImplicit
protected void makeCoordinateSystemsImplicit(NetcdfDataset ncDataset)
Deprecated.Make implicit CoordinateSystem objects for variables that dont already have one, by using the variables' list of coordinate axes, and any coordinateVariables for it. Must be at least 2 axes. All of a variable's _Coordinate Variables_ plus any variables listed in a *__CoordinateAxes_* or *_coordinates_* attribute will be made into an *_implicit_* Coordinate System. If there are at least two axes, and the coordinate system uses all of the variable's dimensions, it will be asssigned to the data variable.
-
makeCoordinateSystemsMaximal
protected void makeCoordinateSystemsMaximal(NetcdfDataset ncDataset)
Deprecated.If a variable still doesnt have a coordinate system, use hueristics to try to find one that was probably forgotten. Examine existing CS. create a subset of axes that fits the variable. Choose the one with highest rank. It must have X,Y or lat,lon. If so, add it.- Parameters:
ncDataset
- need this to see if incomplete coordinate systems are allowed
-
isCoordinateAxisForVariable
protected boolean isCoordinateAxisForVariable(Variable axis, Variable v)
Deprecated.Does this axis "fit" this variable. True if all of the dimensions in the axis also appear in the variable. If char variable, last dimension is left out.- Parameters:
axis
- check if this axis is ok for the given variablev
- the given variable- Returns:
- true if all of the dimensions in the axis also appear in the variable.
-
makeCoordinateTransforms
protected void makeCoordinateTransforms(NetcdfDataset ncDataset)
Deprecated.Take all previously identified Coordinate Transforms and create a CoordinateTransform object by calling CoordTransBuilder.makeCoordinateTransform().- Parameters:
ncDataset
- why
-
makeCoordinateTransform
protected CoordinateTransform makeCoordinateTransform(NetcdfDataset ds, Variable ctv)
Deprecated.
-
assignCoordinateTransforms
protected void assignCoordinateTransforms(NetcdfDataset ncDataset)
Deprecated.Assign CoordinateTransform objects to Coordinate Systems.- Parameters:
ncDataset
- why
-
findVarProcess
protected CoordSysBuilder.VarProcess findVarProcess(String name, CoordSysBuilder.VarProcess from)
Deprecated.
-
findCoordinateAxis
protected CoordSysBuilder.VarProcess findCoordinateAxis(String name)
Deprecated.
-
addCoordinateVariable
protected void addCoordinateVariable(Dimension dim, CoordSysBuilder.VarProcess vp)
Deprecated.
-
makeCoordinateTransformVariable
protected VariableDS makeCoordinateTransformVariable(NetcdfDataset ds, CoordinateTransform ct)
Deprecated.
-
-