cdm/src/main/java/ucar/unidata/geoloc/vertical/AtmosSigma.java
public D1 getCoordinateArray1D(int timeIndex, int xIndex, int yIndex)
  		throws IOException, InvalidRangeException {
	  	  		  		  		 
	    Array ps = readArray(psVar, timeIndex); 
	    Index psIndex = ps.getIndex();	  
	    int nz = sigma.length;  
	    ArrayDouble.D1 result = new ArrayDouble.D1(nz);
	    
        double psVal = ps.getDouble(psIndex.set(yIndex, xIndex));
        for (int z = 0; z < nz; z++) {
          result.set(z,  ptop + sigma[z] * (psVal - ptop));
        }	    
	    
	    return result;
	    
  }
public D1 getCoordinateArray1D(int timeIndex, int xIndex, int yIndex)
  		throws IOException, InvalidRangeException {
	  	  		  		  		 
	    Array ps = readArray(psVar, timeIndex); 
	    Index psIndex = ps.getIndex();	  
	    int nz = sigma.length;  
	    ArrayDouble.D1 result = new ArrayDouble.D1(nz);
	    
        double psVal = ps.getDouble(psIndex.set(yIndex, xIndex));
        for (int z = 0; z < nz; z++) {
          result.set(z,  ptop + sigma[z] * (psVal - ptop));
        }	    
	    
	    return result;
	    
  }
public D1 getCoordinateArray1D ( int timeIndex , int xIndex , int yIndex ) throws IOException , InvalidRangeException { Array ps = readArray ( psVar , timeIndex ) ; Index psIndex = ps . getIndex ( ) ; int nz = sigma . length ; ArrayDouble . D1 result = new ArrayDouble . D1 ( nz ) ; double psVal = ps . getDouble ( psIndex . set ( yIndex , xIndex ) ) ; for ( int z = 0 ; z < nz ; z ++ ) { result . set ( z , ptop + sigma [ z ] * ( psVal - ptop ) ) ; } return result ; }
Get the 1D vertical coordinate array for this time step and point

(needds test!!!)

@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_
Get the 1D vertical coordinate array for this time step and point