cdm/src/main/java/ucar/unidata/geoloc/vertical/OceanSigma.java
public D1 getCoordinateArray1D(int timeIndex, int xIndex, int yIndex)
		  throws IOException, InvalidRangeException {

	  Array eta = readArray(etaVar, timeIndex);
	  Array sigma = readArray(sVar, timeIndex);
	  Array depth = readArray(depthVar, timeIndex);

	  int nz = (int) sigma.getSize();
	  Index sIndex = sigma.getIndex();

	  Index etaIndex = eta.getIndex();
	  Index depthIndex = depth.getIndex();

	  ArrayDouble.D1 height = new ArrayDouble.D1(nz);

	  for (int z = 0; z < nz; z++) {
		  double sigmaVal = sigma.getDouble(sIndex.set(z));

		  double etaVal = eta.getDouble(etaIndex.set(yIndex, xIndex));
		  double depthVal = depth.getDouble(depthIndex.set(yIndex, xIndex));

		  height.set(z, etaVal + sigmaVal * (depthVal + etaVal));
	  }

	  return height;
  }
public D1 getCoordinateArray1D(int timeIndex, int xIndex, int yIndex)
		  throws IOException, InvalidRangeException {

	  Array eta = readArray(etaVar, timeIndex);
	  Array sigma = readArray(sVar, timeIndex);
	  Array depth = readArray(depthVar, timeIndex);

	  int nz = (int) sigma.getSize();
	  Index sIndex = sigma.getIndex();

	  Index etaIndex = eta.getIndex();
	  Index depthIndex = depth.getIndex();

	  ArrayDouble.D1 height = new ArrayDouble.D1(nz);

	  for (int z = 0; z < nz; z++) {
		  double sigmaVal = sigma.getDouble(sIndex.set(z));

		  double etaVal = eta.getDouble(etaIndex.set(yIndex, xIndex));
		  double depthVal = depth.getDouble(depthIndex.set(yIndex, xIndex));

		  height.set(z, etaVal + sigmaVal * (depthVal + etaVal));
	  }

	  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_