ucar.nc2.iosp.netcdf4.Nc4 Maven / Gradle / Ivy
The newest version!
/*
* Copyright (c) 1998-2018 John Caron and University Corporation for Atmospheric Research/Unidata
* See LICENSE for license information.
*/
package ucar.nc2.iosp.netcdf4;
/**
* Special netcdf-4 specific stuff. used by both Java (H5header) and JNA interface (Nc4Iosp)
*
* @author caron
* @since 7/31/12
*
* @see "https://www.unidata.ucar.edu/software/netcdf/docs/netcdf_4_spec.html"
* @see "https://www.unidata.ucar.edu/software/netcdf/docs/"
* @deprecated do not use
*/
@Deprecated
public class Nc4 {
// only on the multi-dimensional coordinate variables of the netCDF model (2D chars).
// appears to hold the dimension ids of the 2 dimensions.
public static final String NETCDF4_COORDINATES = "_Netcdf4Coordinates";
// on dimension scales, holds a scalar H5T_NATIVE_INT,
// which is the (zero-based) dimension ID for this dimension. used to maintain creation order
public static final String NETCDF4_DIMID = "_Netcdf4Dimid";
// global - when using classic model
public static final String NETCDF4_STRICT = "_nc3_strict";
// appended to variable when it conflicts with dimension scale
public static final String NETCDF4_NON_COORD = "_nc4_non_coord_";
}
/*
*
* ////////////////////////////////////////////////////////////////////////////////////////////////
* /* 6/21/2013 new algorithm for dimensions.
*
* 1. find all objects with all CLASS = "DIMENSION_SCALE", make into a dimension. use shape(0) as length. keep in order
* 2. if also a variable (NAME != "This is a ...") then first dim = itself, second matches length, if muiltiple match,
* use :_Netcdf4Coordinates = 0, 3 and order of dimensions.
* 3. use DIMENSION_LIST to assign dimensions to other variables.
*
* Examples:
*
* root :_nc3_strict = 1
* :title = "INSITE traffic weighting"
* :institution = "Forecast Impact and Quality Assessment Section : GSD/ESRL/NOAA : http://esrl.noaa.gov/fiqas/"
* :source = "INSITE"
* :contact = "Jennifer Mahoney : [email protected]"
* :Conventions = "CF-1.4"
* :version = "FIQAS 1.1"
*
* float weight(7,24,1209,);
* :long_name = "traffic weighting"
* :_FillValue = -1.0f
* :valid_range = 0.0f, 2500.0f
* :DIMENSION_LIST = "days", "hours", "jetways"
*
* float max_weight(1209,);
* :long_name = "maximum traffic weighting for any day/hour"
* :_FillValue = -1.0f
* :valid_range = 0.0f, 2500.0f
* :DIMENSION_LIST = "jetways"
*
* char jetways(1209,7,);
* :REFERENCE_LIST = null, null
* :CLASS = "DIMENSION_SCALE"
* :NAME = "jetways"
* :_Netcdf4Coordinates = 0, 3
* :long_name = "jetway segment identifier"
*
* float hours(24,);
* :CLASS = "DIMENSION_SCALE"
* :NAME = "This is a netCDF dimension but not a netCDF variable. 24"
* :REFERENCE_LIST = null
*
* float days(7,);
* :CLASS = "DIMENSION_SCALE"
* :NAME = "This is a netCDF dimension but not a netCDF variable. 7"
* :REFERENCE_LIST = null
*
* float jetwaylen(7,);
* :CLASS = "DIMENSION_SCALE"
* :NAME = "This is a netCDF dimension but not a netCDF variable. 7"
*
* ////////////////////////////////////////
* // example with unlimited dimensions
* root
* float time(0,);
* :REFERENCE_LIST = null
* :CLASS = "DIMENSION_SCALE"
* :NAME = "This is a netCDF dimension but not a netCDF variable. 0"
*
* float lat(2,);
* :REFERENCE_LIST = null
* :CLASS = "DIMENSION_SCALE"
* :NAME = "This is a netCDF dimension but not a netCDF variable. 2"
*
* float lon(3,);
* :REFERENCE_LIST = null
* :CLASS = "DIMENSION_SCALE"
* :NAME = "This is a netCDF dimension but not a netCDF variable. 3"
*
* float surface_temperature(4,2,3,);
* :DIMENSION_LIST = "time", "lat", "lon"
*
*/
© 2015 - 2025 Weber Informatics LLC | Privacy Policy