Skip to main content

NetCDFFileProperties

Summary

The NetCDFFileProperties object accesses properties from a network Common Data Form (netCDF). netCDF is a binary, self-describing, machine-independent file format for storing scientific data.

Learn more about netCDF

Syntax

NetCDFFileProperties(netcdffile)

Name Explanation Data type

netcdffile

The input netCDF file.

String

Methods

getAttributeNames({variable_name[variable_name,...]})

Returns the attribute names of a variable in a netCDF file.

Name Explanation Data type

variable_name[variable_name,...]

(Optional)

A variable name of the netCDF file.

String

Return value

Data type Explanation

String

The attribute names of the variable.

getAttributeValue(variable_name, attribute_name)

Returns the value of an attribute.

Name Explanation Data type

variable_name

A variable name of the netCDF file.

String

attribute_name

An attribute name of the netCDF file.

String

Return value

Data type Explanation

Object

The value of the attribute. The type of returned value depends on the dimension type.

getDimensionIndex(dimension_name, value)

Returns the dimension index.

Name Explanation Data type

dimension_name

A dimension name of the netCDF file.

String

value

The dimension value.

Integer

Return value

Data type Explanation

Integer

The dimension index.

getDimensionSize(dimension_name)

Returns the dimension size.

Name Explanation Data type

dimension_name

A dimension name of the netCDF file.

String

Return value

Data type Explanation

Integer

The dimension size.

getDimensionValue(dimension_name, index)

Returns the dimension value.

Name Explanation Data type

dimension_name

A dimension name of the netCDF file.

String

index

The index position.

Integer

Return value

Data type Explanation

Object

The dimension value. The type of returned value depends on the dimension type.

getDimensions()

Returns the dimensions.

Return value

Data type Explanation

String

A list of dimensions.

getDimensionsByVariable(variable_name)

Returns the dimensions by variable.

Name Explanation Data type

variable_name

A variable name of the netCDF file.

String

Return value

Data type Explanation

String

The dimensions by variable.

getFieldType(name)

Returns the field type of a variable or dimension.

Name Explanation Data type

name

A variable or dimension name of the netCDF file.

String

Return value

Data type Explanation

String

The field type.

getSpatialReference(variable_name, x_dimension, y_dimension)

Returns the spatial reference of a variable.

Name Explanation Data type

variable_name

A variable name of the netCDF file.

String

x_dimension

The x-dimension.

Integer

y_dimension

The y-dimension.

Integer

Return value

Data type Explanation

SpatialReference

The spatial reference of a variable.

getVariables()

Returns the variables.

Return value

Data type Explanation

String

A list of variables.

getVariablesByDimension(dimension_name)

Returns the variables by dimension.

Name Explanation Data type

dimension_name

A variable name of the netCDF file.

String

Return value

Data type Explanation

String

The list of variables by dimension.

Code sample

NetCDFFileProperties example

Display properties of a netCDF file.

import arcpy

in_netcdf = "c:/netCDF/crwr.nc"

nc_fp = arcpy.NetCDFFileProperties(in_netcdf)

# Get Variables
for nc_var in nc_fp.getVariables():
    print("Variable: {}".format(nc_var))
    print("\tVariable type: {}".format(nc_fp.getFieldType(nc_var)))

    # Get dimensions by variable
    for nc_dim_by_var in nc_fp.getDimensionsByVariable(nc_var):
        print("Dimension: {}".format(nc_dim_by_var))
    print(nc_fp.getAttributeValue(nc_var, "units"))

    # Get Variable Attributes
    for nc_va_name in nc_fp.getAttributeNames(nc_var):
        print("Attribute Name: {}".format(nc_va_name))

# Get Dimensions
for nc_dim in nc_fp.getDimensions():
    print("Dimension: {}".format(nc_dim))
    print("\tDimension size: {}".format(nc_fp.getDimensionSize(nc_dim)))
    print("\tDimension type: {}".format(nc_fp.getFieldType(nc_dim)))

    for i in range(0, nc_fp.getDimensionSize(nc_dim)):
        nc_dim_value = nc_fp.getDimensionValue(nc_dim, i)
        print("\tDimension value: {}".format(nc_dim_value))
        print("\tDimension index: {}".format(
            nc_fp.getDimensionIndex(nc_dim, nc_dim_value)))

    # Get Variable by dimension
    for nc_vars_by_dim in nc_fp.getVariablesByDimension(nc_dim):
        print("\tVariable by dimension: {}".format(nc_vars_by_dim))

# Get Global Attributes
for nc_att_name in nc_fp.getAttributeNames(""):
    print("Attribute Name: {}".format(nc_att_name))
    print(nc_fp.getAttributeValue("", nc_att_name))