static public CoordinateAxis findCoordByType(NetcdfDataset ds, AxisType atype, Predicate p) {
    // try the "best" coordinate system
    CoordinateSystem use = findBestCoordinateSystem(ds);
    if (use == null) return null;
    CoordinateAxis result = findCoordByType(use.getCoordinateAxes(), atype, p);
    if (result != null) return result;

    // try all the axes
    return findCoordByType(ds.getCoordinateAxes(), atype, p);
  }
static public CoordinateAxis findCoordByType(NetcdfDataset ds, AxisType atype, Predicate p) {
    
    CoordinateSystem use = findBestCoordinateSystem(ds);
    if (use == null) return null;
    CoordinateAxis result = findCoordByType(use.getCoordinateAxes(), atype, p);
    if (result != null) return result;

    
    return findCoordByType(ds.getCoordinateAxes(), atype, p);
  }
static public CoordinateAxis findCoordByType ( NetcdfDataset ds , AxisType atype , Predicate p ) { // try the "best" coordinate system
 CoordinateSystem use = findBestCoordinateSystem ( ds ) ; if ( use == null ) return null ; CoordinateAxis result = findCoordByType ( use . getCoordinateAxes ( ) , atype , p ) ; if ( result != null ) return result ; // try all the axes
 return findCoordByType ( ds . getCoordinateAxes ( ) , atype , p ) ; }
search for Axis by Type and test against a predicate
@param ds search in this dataset's "Best" coordinate system.
@param atype search for this type of CoordinateAxis.
@param p match this predicate; may be null
@return the found CoordinateAxis, or null if none
search for Axis by Type and test against a predicate