cdm/src/main/java/ucar/unidata/geoloc/vertical/HybridHeight.java
public D1 getCoordinateArray1D(int timeIndex, int xIndex, int yIndex)
  		throws IOException, InvalidRangeException {
	  
	  
	  Array orogArray = readArray(orogVar, timeIndex);
	  if (null == aArray) {
		  aArray = aVar.read();
		  bArray = bVar.read();
	  }

	  int nz = (int) aArray.getSize();
	  Index aIndex = aArray.getIndex();
	  Index bIndex = bArray.getIndex();	  

	  Index orogIndex = orogArray.getIndex();
	  ArrayDouble.D1 height = new ArrayDouble.D1(nz);

	  for (int z = 0; z < nz; z++) {
		  double az = aArray.getDouble(aIndex.set(z));
		  double bz = bArray.getDouble(bIndex.set(z));
		  
          double orog = orogArray.getDouble(orogIndex.set(yIndex, xIndex));
          height.set(z,  az + bz * orog);
		  
	  }
	  
	  return height;
  }
public D1 getCoordinateArray1D(int timeIndex, int xIndex, int yIndex)
  		throws IOException, InvalidRangeException {
	  
	  
	  Array orogArray = readArray(orogVar, timeIndex);
	  if (null == aArray) {
		  aArray = aVar.read();
		  bArray = bVar.read();
	  }

	  int nz = (int) aArray.getSize();
	  Index aIndex = aArray.getIndex();
	  Index bIndex = bArray.getIndex();	  

	  Index orogIndex = orogArray.getIndex();
	  ArrayDouble.D1 height = new ArrayDouble.D1(nz);

	  for (int z = 0; z < nz; z++) {
		  double az = aArray.getDouble(aIndex.set(z));
		  double bz = bArray.getDouble(bIndex.set(z));
		  
          double orog = orogArray.getDouble(orogIndex.set(yIndex, xIndex));
          height.set(z,  az + bz * orog);
		  
	  }
	  
	  return height;
  }
Get the 1D vertical coordinate array for this time step and point

@param timeIndex the time index. Ignored if !isTimeDependent().
@param xIndex    the x index
@param yIndex    the y index
@return vertical coordinate array
@throws java.io.IOException problem reading data
@throws ucar.ma2.InvalidRangeException _more_