public ucar.unidata.geoloc.vertical.VerticalTransform makeMathTransform(NetcdfDataset ds, Dimension timeDim, VerticalCT vCT) { return new OceanS(ds, timeDim, vCT.getParameters()); } }
/** * Get the 3D vertical coordinate array for this time step. * * @param timeIndex the time index. Ignored if !isTimeDependent(). * @return vertical coordinate array * @throws IOException problem reading data * @throws InvalidRangeException _more_ */ public ArrayDouble.D3 getCoordinateArray(int timeIndex) throws IOException, InvalidRangeException { Array etaArray = readArray(etaVar, timeIndex); Array sArray = readArray(sVar, timeIndex); Array depthArray = readArray(depthVar, timeIndex); if (null == c) { double a = aVar.readScalarDouble(); double b = bVar.readScalarDouble(); depth_c = depthCVar.readScalarDouble(); c = makeC(sArray, a, b); } return makeHeight(etaArray, sArray, depthArray, c, depth_c); }
/** * Get the 1D vertical coordinate array for this time step and * the specified X,Y index for Lat-Lon point. * * @param timeIndex the time index. Ignored if !isTimeDependent(). * @param xIndex the x index * @param yIndex the y index * @return vertical coordinate array * @throws IOException problem reading data * @throws InvalidRangeException _more_ */ public ArrayDouble.D1 getCoordinateArray1D(int timeIndex, int xIndex, int yIndex) throws IOException, InvalidRangeException { Array etaArray = readArray(etaVar, timeIndex); Array sArray = readArray(sVar, timeIndex); Array depthArray = readArray(depthVar, timeIndex); if (null == c) { double a = aVar.readScalarDouble(); double b = bVar.readScalarDouble(); depth_c = depthCVar.readScalarDouble(); c = makeC(sArray, a, b); } return makeHeight1D(etaArray, sArray, depthArray, c, depth_c, xIndex, yIndex); }
/** * Create a new vertical transform for Ocean S coordinates * * @param ds dataset * @param timeDim time dimension * @param params list of transformation Parameters */ public OceanS(NetcdfFile ds, Dimension timeDim, List<Parameter> params) { super(timeDim); String etaName = getParameterStringValue(params, ETA); String sName = getParameterStringValue(params, S); String depthName = getParameterStringValue(params, DEPTH); String aName = getParameterStringValue(params, A); String bName = getParameterStringValue(params, B); String depthCName = getParameterStringValue(params, DEPTH_C); etaVar = ds.findVariable(etaName); sVar = ds.findVariable(sName); depthVar = ds.findVariable(depthName); aVar = ds.findVariable(aName); bVar = ds.findVariable(bName); depthCVar = ds.findVariable(depthCName); units = ds.findAttValueIgnoreCase(depthVar, CDM.UNITS, "none"); }
/** * Create a new vertical transform for Ocean S coordinates * * @param ds dataset * @param timeDim time dimension * @param params list of transformation Parameters */ public OceanS(NetcdfFile ds, Dimension timeDim, List<Parameter> params) { super(timeDim); String etaName = getParameterStringValue(params, ETA); String sName = getParameterStringValue(params, S); String depthName = getParameterStringValue(params, DEPTH); String aName = getParameterStringValue(params, A); String bName = getParameterStringValue(params, B); String depthCName = getParameterStringValue(params, DEPTH_C); etaVar = ds.findVariable(etaName); sVar = ds.findVariable(sName); depthVar = ds.findVariable(depthName); aVar = ds.findVariable(aName); bVar = ds.findVariable(bName); depthCVar = ds.findVariable(depthCName); units = ds.findAttValueIgnoreCase(depthVar, CDM.UNITS, "none"); }
/** * Get the 3D vertical coordinate array for this time step. * * @param timeIndex the time index. Ignored if !isTimeDependent(). * @return vertical coordinate array * @throws IOException problem reading data * @throws InvalidRangeException _more_ */ public ArrayDouble.D3 getCoordinateArray(int timeIndex) throws IOException, InvalidRangeException { Array etaArray = readArray(etaVar, timeIndex); Array sArray = readArray(sVar, timeIndex); Array depthArray = readArray(depthVar, timeIndex); if (null == c) { double a = aVar.readScalarDouble(); double b = bVar.readScalarDouble(); depth_c = depthCVar.readScalarDouble(); c = makeC(sArray, a, b); } return makeHeight(etaArray, sArray, depthArray, c, depth_c); }
/** * Get the 1D vertical coordinate array for this time step and * the specified X,Y index for Lat-Lon point. * * @param timeIndex the time index. Ignored if !isTimeDependent(). * @param xIndex the x index * @param yIndex the y index * @return vertical coordinate array * @throws IOException problem reading data * @throws InvalidRangeException _more_ */ public ArrayDouble.D1 getCoordinateArray1D(int timeIndex, int xIndex, int yIndex) throws IOException, InvalidRangeException { Array etaArray = readArray(etaVar, timeIndex); Array sArray = readArray(sVar, timeIndex); Array depthArray = readArray(depthVar, timeIndex); if (null == c) { double a = aVar.readScalarDouble(); double b = bVar.readScalarDouble(); depth_c = depthCVar.readScalarDouble(); c = makeC(sArray, a, b); } return makeHeight1D(etaArray, sArray, depthArray, c, depth_c, xIndex, yIndex); }
public ucar.unidata.geoloc.vertical.VerticalTransform makeMathTransform(NetcdfDataset ds, Dimension timeDim, VerticalCT vCT) { return new OceanS(ds, timeDim, vCT.getParameters()); } }
/** * Create a new vertical transform for Ocean S coordinates * * @param ds dataset * @param timeDim time dimension * @param params list of transformation Parameters */ public OceanS(NetcdfFile ds, Dimension timeDim, List<Parameter> params) { super(timeDim); String etaName = getParameterStringValue(params, ETA); String sName = getParameterStringValue(params, S); String depthName = getParameterStringValue(params, DEPTH); String aName = getParameterStringValue(params, A); String bName = getParameterStringValue(params, B); String depthCName = getParameterStringValue(params, DEPTH_C); etaVar = ds.findVariable(etaName); sVar = ds.findVariable(sName); depthVar = ds.findVariable(depthName); aVar = ds.findVariable(aName); bVar = ds.findVariable(bName); depthCVar = ds.findVariable(depthCName); units = ds.findAttValueIgnoreCase(depthVar, CDM.UNITS, "none"); }
/** * Get the 3D vertical coordinate array for this time step. * * @param timeIndex the time index. Ignored if !isTimeDependent(). * @return vertical coordinate array * @throws IOException problem reading data * @throws InvalidRangeException _more_ */ public ArrayDouble.D3 getCoordinateArray(int timeIndex) throws IOException, InvalidRangeException { Array etaArray = readArray(etaVar, timeIndex); Array sArray = readArray(sVar, timeIndex); Array depthArray = readArray(depthVar, timeIndex); if (null == c) { double a = aVar.readScalarDouble(); double b = bVar.readScalarDouble(); depth_c = depthCVar.readScalarDouble(); c = makeC(sArray, a, b); } return makeHeight(etaArray, sArray, depthArray, c, depth_c); }
/** * Get the 1D vertical coordinate array for this time step and * the specified X,Y index for Lat-Lon point. * * @param timeIndex the time index. Ignored if !isTimeDependent(). * @param xIndex the x index * @param yIndex the y index * @return vertical coordinate array * @throws IOException problem reading data * @throws InvalidRangeException _more_ */ public ArrayDouble.D1 getCoordinateArray1D(int timeIndex, int xIndex, int yIndex) throws IOException, InvalidRangeException { Array etaArray = readArray(etaVar, timeIndex); Array sArray = readArray(sVar, timeIndex); Array depthArray = readArray(depthVar, timeIndex); if (null == c) { double a = aVar.readScalarDouble(); double b = bVar.readScalarDouble(); depth_c = depthCVar.readScalarDouble(); c = makeC(sArray, a, b); } return makeHeight1D(etaArray, sArray, depthArray, c, depth_c, xIndex, yIndex); }
public ucar.unidata.geoloc.vertical.VerticalTransform makeMathTransform(NetcdfDataset ds, Dimension timeDim, VerticalCT vCT) { return new OceanS(ds, timeDim, vCT.getParameters()); } }