当前位置: 首页>>代码示例>>Java>>正文


Java Variable.getShape方法代码示例

本文整理汇总了Java中ucar.nc2.Variable.getShape方法的典型用法代码示例。如果您正苦于以下问题:Java Variable.getShape方法的具体用法?Java Variable.getShape怎么用?Java Variable.getShape使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ucar.nc2.Variable的用法示例。


在下文中一共展示了Variable.getShape方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getExchangeItemValues

import ucar.nc2.Variable; //导入方法依赖的package包/类
public double[] getExchangeItemValues(String varName, int stationIndex, int layerIndex) {

		Variable variable = this.netcdfFile.findVariable(varName);

		int[] origin = createOrigin(variable);
		int[] sizeArray = variable.getShape();

		//select only the given station and layer
		origin[timeDimensionIndex] = 0;
		origin[lstsciDimensionIndex] = 0; //Only a single constituent possible for now, if several, arguments need to be changed
		origin[kmaxOutRestrDimensionIndex] = layerIndex;
		origin[statDimensionIndex] = stationIndex;

		//only one station and layer
		sizeArray[kmaxOutRestrDimensionIndex] = 1;
		sizeArray[statDimensionIndex] = 1;
		return NetcdfUtils.readSelectedData(variable, origin, sizeArray, -1);

	}
 
开发者ID:OpenDA-Association,项目名称:OpenDA,代码行数:20,代码来源:NetcdfD3dHisDataObject.java

示例2: readData

import ucar.nc2.Variable; //导入方法依赖的package包/类
/**
 * Reads and returns the data from the given variable.
 *
 * @param variable
 * @return Object.
 */
public static Object readData(Variable variable) {
	double[] values;
	try {
		values = (double[]) variable.read().get1DJavaArray(double.class);
	} catch (IOException e) {
		throw new RuntimeException("Error while reading data from netcdf variable '" + variable.getShortName()
				+ "'. Message was: " + e.getMessage(), e);
	}

	//apply scale factor and offset and replace missing values with Double.NaN.
	double missingValue = getMissingValueDouble(variable);
	double scaleFactor = getScaleFactorDouble(variable);
	double offSet = getOffSetDouble(variable);
	NetcdfUtils.convertDoubleValuesFromNetcdf(values, missingValue, scaleFactor, offSet);

	return new Array(values, variable.getShape(), false);
}
 
开发者ID:OpenDA-Association,项目名称:OpenDA,代码行数:24,代码来源:NetcdfUtils.java

示例3: writeDataForVariableForSingleTimeSingleLocationSingleRealization

import ucar.nc2.Variable; //导入方法依赖的package包/类
public static void writeDataForVariableForSingleTimeSingleLocationSingleRealization(NetcdfFileWriter netcdfFileWriter, Variable variable,
		int timeIndex, int realizationDimensionIndex, int realizationIndex, int stationDimensionIndex, int stationIndex, double[] values) {
	int[] origin = createOrigin(variable);
	int[] sizeArray = variable.getShape();

	//here assume that timeDimensionIndex is 0.
	int timeDimensionIndex = 0;
	//select only the given time, station and realization.
	origin[timeDimensionIndex] = timeIndex;
	sizeArray[timeDimensionIndex] = 1;
	origin[realizationDimensionIndex] = realizationIndex;
	sizeArray[realizationDimensionIndex] = 1;
	origin[stationDimensionIndex] = stationIndex;
	sizeArray[stationDimensionIndex] = 1;

	writeSelectedData(netcdfFileWriter, variable, origin, sizeArray, values);
}
 
开发者ID:OpenDA-Association,项目名称:OpenDA,代码行数:18,代码来源:NetcdfUtils.java

示例4: getExchangeItemValues

import ucar.nc2.Variable; //导入方法依赖的package包/类
public double[] getExchangeItemValues(String varName) {

		// find variable
		Variable variable = this.netcdfFile.findVariable(varName);

		int[] origin = createOrigin(variable);
		int[] sizeArray = variable.getShape();

		//select whole 2D or 3D for last time step. Due to huge sizes if we read all time steps I decided for now to keep only the necessary
		ITimeInfo timeInfo = NetcdfUtils.createTimeInfo(variable, this.netcdfFile, timeInfoCache);
		int LastTimeIndex = timeInfo.getTimes().length;
		origin[timeDimensionIndex] = LastTimeIndex-1;
		sizeArray[timeDimensionIndex] = 1;

//		origin[timeDimensionIndex] = 0;
		if (variable.getShortName().equalsIgnoreCase("R1")) {
			origin[lstsciDimensionIndex] = 0; //Only a single constituent possible for now, needs to be changed
		}
		if (!variable.getShortName().equalsIgnoreCase("S1")) {
			origin[kmaxOutRestrDimensionIndex] = 0;
//			sizeArray[kmaxOutRestrDimensionIndex] = 1;
		}

		double[] domainData =  NetcdfUtils.readSelectedData(variable, origin, sizeArray,-1);

		//This calls the intelligence to expand the real to a fictive (full) domain
		if (Arrays.asList(fictiveVariables).contains(variable.getShortName())){
			domainData = expandDomain(domainData,LastTimeIndex);
		}
		return domainData;
	}
 
开发者ID:OpenDA-Association,项目名称:OpenDA,代码行数:32,代码来源:NetcdfD3dMapDataObject.java

示例5: readDataForVariableForSingleLocation

import ucar.nc2.Variable; //导入方法依赖的package包/类
public static double[] readDataForVariableForSingleLocation(Variable variable, int stationDimensionIndex, int stationIndex) {
	int[] origin = createOrigin(variable);
	int[] sizeArray = variable.getShape();

	//select only the given station.
	origin[stationDimensionIndex] = stationIndex;
	sizeArray[stationDimensionIndex] = 1;
	return readSelectedData(variable, origin, sizeArray, -1);
}
 
开发者ID:OpenDA-Association,项目名称:OpenDA,代码行数:10,代码来源:NetcdfUtils.java

示例6: readDataForVariableForSingleLocationAndRealization

import ucar.nc2.Variable; //导入方法依赖的package包/类
public static double[] readDataForVariableForSingleLocationAndRealization(Variable variable, int stationDimensionIndex, int stationIndex, int realizationDimensionIndex, int realizationIndex) {
	int[] origin = createOrigin(variable);
	int[] sizeArray = variable.getShape();

	//select only the given station.
	origin[stationDimensionIndex] = stationIndex;
	sizeArray[stationDimensionIndex] = 1;
	//select only the given realization
	origin[realizationDimensionIndex] = realizationIndex;
	sizeArray[realizationDimensionIndex] = 1;
	return readSelectedData(variable, origin, sizeArray, -1);
}
 
开发者ID:OpenDA-Association,项目名称:OpenDA,代码行数:13,代码来源:NetcdfUtils.java

示例7: readDataForVariableFor2DGridForSingleTime

import ucar.nc2.Variable; //导入方法依赖的package包/类
public static double[] readDataForVariableFor2DGridForSingleTime(Variable variable, int timeDimensionIndex, int timeIndex,
		int dimensionIndexToFlip) {
	int[] origin = createOrigin(variable);
	int[] sizeArray = variable.getShape();

	//select only the given time.
	origin[timeDimensionIndex] = timeIndex;
	sizeArray[timeDimensionIndex] = 1;
	return readSelectedData(variable, origin, sizeArray, dimensionIndexToFlip);
}
 
开发者ID:OpenDA-Association,项目名称:OpenDA,代码行数:11,代码来源:NetcdfUtils.java

示例8: readDataForVariableFor2DGridForSingleTimeAndRealization

import ucar.nc2.Variable; //导入方法依赖的package包/类
public static double[] readDataForVariableFor2DGridForSingleTimeAndRealization(Variable variable,
	   int realizationDimensionIndex, int realizationIndex, int timeDimensionIndex, int timeIndex, int dimensionIndexToFlip) {
	int[] origin = createOrigin(variable);
	int[] sizeArray = variable.getShape();

	//select only the given time.
	origin[timeDimensionIndex] = timeIndex;
	sizeArray[timeDimensionIndex] = 1;
	//select only the given realization
	origin[realizationDimensionIndex] = realizationIndex;
	sizeArray[realizationDimensionIndex] = 1;
	return readSelectedData(variable, origin, sizeArray, dimensionIndexToFlip);
}
 
开发者ID:OpenDA-Association,项目名称:OpenDA,代码行数:14,代码来源:NetcdfUtils.java

示例9: writeDataForVariableForSingleTime

import ucar.nc2.Variable; //导入方法依赖的package包/类
public static void writeDataForVariableForSingleTime(NetcdfFileWriter netcdfFileWriter, Variable variable, int timeDimensionIndex, int timeIndex, double[] values) {
	int[] origin = createOrigin(variable);
	int[] sizeArray = variable.getShape();

	//select only the given time.
	origin[timeDimensionIndex] = timeIndex;
	sizeArray[timeDimensionIndex] = 1;

	writeSelectedData(netcdfFileWriter, variable, origin, sizeArray, values);
}
 
开发者ID:OpenDA-Association,项目名称:OpenDA,代码行数:11,代码来源:NetcdfUtils.java

示例10: writeDataForVariableForSingleTimeSingleLocation

import ucar.nc2.Variable; //导入方法依赖的package包/类
public static void writeDataForVariableForSingleTimeSingleLocation(NetcdfFileWriter netcdfFileWriter, Variable variable, int timeIndex, int stationDimensionIndex, int stationIndex, double[] values) {
	int[] origin = createOrigin(variable);
	int[] sizeArray = variable.getShape();

	//here assume that timeDimensionIndex is 0.
	int timeDimensionIndex = 0;
	//select only the given time and station.
	origin[timeDimensionIndex] = timeIndex;
	sizeArray[timeDimensionIndex] = 1;
	origin[stationDimensionIndex] = stationIndex;
	sizeArray[stationDimensionIndex] = 1;

	writeSelectedData(netcdfFileWriter, variable, origin, sizeArray, values);
}
 
开发者ID:OpenDA-Association,项目名称:OpenDA,代码行数:15,代码来源:NetcdfUtils.java

示例11: parseOriginAndShapeForWriting

import ucar.nc2.Variable; //导入方法依赖的package包/类
/**
 * Gets the origins and shapes for block data writing. The max. size of a block in Ko to be process is in
 * the Motu configuration file (dataBlocksize attribute of MotuConfig)
 *
 * @param var variable to process
 * @return a map tha contains the shape (blocksize) to extract for each origin
 * @throws MotuException the motu exception
 * @throws MotuNotImplementedException the motu not implemented exception
 */
public static Map<int[], int[]> parseOriginAndShapeForWriting(Variable var) throws MotuException, MotuNotImplementedException {

    Map<int[], int[]> map = null;

    int[] varShape = var.getShape();

    for (int i = 0; i < varShape.length; i++) {
        if (varShape[i] <= 0) {
            throw new MotuException(
                    ErrorType.INVALID_LAT_LON_RANGE,
                    String.format("Error in NetCdfWriter.parseOriginAndShape - incorrect value %d for varShape[%d]", varShape[i], i));
        }
    }
    int nDims = varShape.length;
    int blockElementSize = NetCdfWriter.getElementBlockSize(var);

    if (blockElementSize <= 0) {
        blockElementSize = 1;
    }

    switch (nDims) {
    case 1:
        map = NetCdfWriter.parseOriginAndShape1DimForWriting(varShape);
        break;
    case 2:
        map = NetCdfWriter.parseOriginAndShape2DimForWriting(varShape);
        break;
    case 3:
        map = NetCdfWriter.parseOriginAndShape3DimForWriting(varShape);
        break;
    case 4:
        // map = NetCdfWriter.parseOriginAndShape4DimForWriting(varShape);
        break;
    default:
        throw new MotuNotImplementedException(
                String.format("Error in  NetCdfWriter.parseOriginAndShape1Dim - Processing for %d-dimension is not implemented", nDims));
        // break;
    }

    return map;
}
 
开发者ID:clstoulouse,项目名称:motu,代码行数:51,代码来源:NetCdfWriter.java


注:本文中的ucar.nc2.Variable.getShape方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。