/** * Write String data to a CHAR variable, origin assumed to be 0. Must not be in define mode. * * @param varName name of variable, must be of type CHAR. * @param values write this array; must be ArrayObject of String * @throws IOException if I/O error * @throws ucar.ma2.InvalidRangeException if values Array has illegal shape */ public void writeStringData(String varName, Array values) throws java.io.IOException, InvalidRangeException { writeStringData(varName, new int[values.getRank()], values); }
/** * Write data to the named variable, origin assumed to be 0. Must not be in define mode. * * @param fullNameEsc name of variable. IllegalArgumentException if variable name does not exist. * @param values write this array; must be same type and rank as Variable * @throws IOException if I/O error * @throws ucar.ma2.InvalidRangeException if values Array has illegal shape */ public void write(String fullNameEsc, Array values) throws java.io.IOException, InvalidRangeException { write(fullNameEsc, new int[values.getRank()], values); }
/** * Write String data to a CHAR variable, origin assumed to be 0. Must not be in define mode. * * @param v variable to write to * @param values write this array; must be ArrayObject of String * @throws IOException if I/O error * @throws ucar.ma2.InvalidRangeException if values Array has illegal shape */ public void writeStringData(Variable v, Array values) throws java.io.IOException, InvalidRangeException { writeStringData(v, new int[values.getRank()], values); }
/** * Write String data to a CHAR variable, origin assumed to be 0. Must not be in define mode. * * @param varName name of variable, must be of type CHAR. * @param values write this array; must be ArrayObject of String * @throws IOException if I/O error * @throws ucar.ma2.InvalidRangeException if values Array has illegal shape */ public void writeStringData(String varName, Array values) throws java.io.IOException, InvalidRangeException { writeStringData(varName, new int[values.getRank()], values); }
protected Array getScalarData() throws IOException { Array scalarData = (cache != null && cache.data != null) ? cache.data : read(); scalarData = scalarData.reduce(); if ((scalarData.getRank() == 0) || ((scalarData.getRank() == 1) && dataType == DataType.CHAR)) return scalarData; throw new java.lang.UnsupportedOperationException("not a scalar variable =" + this); }
/** * Write String data to a CHAR variable, origin assumed to be 0. Must not be in define mode. * * @param v variable to write to * @param values write this array; must be ArrayObject of String * @throws IOException if I/O error * @throws ucar.ma2.InvalidRangeException if values Array has illegal shape */ public void writeStringData(Variable v, Array values) throws java.io.IOException, InvalidRangeException { writeStringData(v, new int[values.getRank()], values); }
/** * Create an MAVector using the given rank-1 array. * @param a rank-1 array * @exception IllegalArgumentException is a is not rank 1 */ public MAVector( Array a) { this.a = a; if (a.getRank() != 1) throw new IllegalArgumentException("rank != 1, instead = "+ a.getRank()); nelems = a.getShape()[0]; ima = a.getIndex(); }
/** * Write String data to a CHAR variable, origin assumed to be 0. Must not be in define mode. * * @param varName name of variable, must be of type CHAR. * @param values write this array; must be ArrayObject of String * @throws IOException if I/O error * @throws ucar.ma2.InvalidRangeException if values Array has illegal shape */ public void writeStringData(String varName, Array values) throws java.io.IOException, InvalidRangeException { writeStringData(varName, new int[values.getRank()], values); }
/** * Add extra outermost dimension with len = 1. * * @param org original array * @return rank1 array of rank + 1 */ static public Array makeArrayRankPlusOne(Array org) { int[] shape = new int[org.getRank() + 1]; System.arraycopy(org.getShape(), 0, shape, 1, org.getRank()); shape[0] = 1; return factory(org.getDataType(), shape, org.getStorage()); }
void CheckSValue( Array a) { assert a.getRank() == 0; assert a.getElementType() == String.class; String str = (String) a.getObject(a.getIndex()); assert str.equals("This is a data test string (pass 0)."); }
void CheckLongValue( Array a) { assert a.getRank() == 0; assert a.getSize() == 1; assert a.getElementType() == long.class; assert a instanceof ArrayLong.D0; long vall = ((ArrayLong.D0)a).get(); assert (vall == 0); }
void CheckInt32Value( Array a) { assert a.getRank() == 0; assert a.getSize() == 1; assert a.getElementType() == int.class; assert a instanceof ArrayInt.D0; int vali = ((ArrayInt.D0)a).get(); assert (vali == 1) : vali; }
void CheckFValue( Array a) { assert a.getRank() == 0; assert a.getSize() == 1; assert a.getElementType() == float.class; assert a instanceof ArrayFloat.D0; float valf = ((ArrayFloat.D0)a).get(); assert (valf == 0.0); }
void CheckByteValue( Array a) { assert a.getRank() == 0; assert a.getSize() == 1; assert a.getElementType() == byte.class; assert a instanceof ArrayByte.D0; byte valb = ((ArrayByte.D0)a).get(); assert (valb == 0); }
void CheckUint32Value( Array a) { assert a.getRank() == 0; assert a.getSize() == 1; assert a.getElementType() == int.class; assert a instanceof ArrayInt.D0; long vall = ((ArrayInt.D0)a).get(); assert (vall == 0); }
void CheckUInt16Value( Array a) { assert a.getRank() == 0; assert a.getSize() == 1; assert a.getElementType() == short.class; assert a instanceof ArrayShort.D0; int vali = ((ArrayShort.D0)a).get(); assert (vali == 0); }
void CheckByteValue( Array a) { assert a.getRank() == 0; assert a.getSize() == 1; assert a.getElementType() == byte.class; assert a instanceof ArrayByte.D0; byte valb = ((ArrayByte.D0)a).get(); assert (valb == 0); }
void CheckUInt16Value( Array a) { assert a.getRank() == 0; assert a.getSize() == 1; assert a.getElementType() == short.class; assert a instanceof ArrayShort.D0; int vali = ((ArrayShort.D0)a).get(); assert (vali == 0); }
void CheckDValue( Array a) { assert a.getRank() == 0; assert a.getSize() == 1; assert a.getElementType() == double.class; assert a instanceof ArrayDouble.D0; double vald = ((ArrayDouble.D0)a).get(); assert (vald == 1000.0); }
static public void testVarMatchesData( Variable v, boolean showStatus) throws IOException { Array data = v.read(); assert data.getSize() == v.getSize(); assert data.getElementType() == v.getDataType().getPrimitiveClassType(); assert data.getRank() == v.getRank(); int[] dataShape = data.getShape(); int[] varShape = v.getShape(); for (int i=0; i<data.getRank(); i++) assert dataShape[i] == varShape[i]; if (showStatus) logger.debug( "**** testReadData done on {}", v.getFullName()); } }