Raster to NetCDF (Multidimensional)

Summary

Converts a raster dataset to a netCDF file.

Usage

  • The input can be any valid raster dataset.

  • The default variable name is the same as the input raster name.

  • The output netCDF variable type is either float or integer based on the input raster dataset type.

  • The default x dimension and y dimension names are x and y, respectively.

  • The Band Dimension parameter is only applicable to a multiband input raster.

  • String fields cannot be used to create dimensions in the netCDF file.

  • A higher compression level will reduce the output file size and may improve performance of the tool. When the compressed netCDF file is used as an input for further analysis, it will generally perform better.

  • The tool writes variable as regularly spaced gridded data following the CF conventionsLink to CF Conventions website. Therefore, the variable in the output netCDF file is suitable for creating a voxel layer.

Parameters

LabelExplanationData Type
Input Raster

The input raster dataset.

Raster Layer
Output netCDF File

The output netCDF file. The file name must have an .nc extension.

File
Variable
(Optional)

The netCDF variable name that will be used in the output netCDF file. This variable will contain the values of cells in the input raster.

String
Variable Units
(Optional)

The units of the data contained within the variable. The variable name is specified in the Variable parameter.

String
X Dimension
(Optional)

The netCDF dimension name that will be used to specify x, or longitude, coordinates.

String
Y Dimension
(Optional)

The netCDF dimension name that will be used to specify y, or latitude, coordinates.

String
Band Dimension
(Optional)

The netCDF dimension name that will be used to specify bands.

String
Fields to Dimensions
(Optional)

The field or fields that will be used to create dimensions in the netCDF file.

  • Field—A field in the input raster attribute table.
  • Dimension—The netCDF dimension name
  • Units—The units of the data represented by the field
Value Table
Compression Level
(Optional)

The level at which the output netCDF file will be compressed. The default value is 0, which implies no compression. A value of 9 represents maximum compression.

Long

arcpy.management.RasterToNetCDF(in_raster, out_netCDF_file, {variable}, {variable_units}, {x_dimension}, {y_dimension}, {band_dimension}, {fields_to_dimensions}, {compression_level})
NameExplanationData Type
in_raster

The input raster dataset.

Raster Layer
out_netCDF_file

The output netCDF file. The file name must have an .nc extension.

File
variable
(Optional)

The netCDF variable name that will be used in the output netCDF file. This variable will contain the values of cells in the input raster.

String
variable_units
(Optional)

The units of the data contained within the variable. The variable name is specified in the Variable parameter.

String
x_dimension
(Optional)

The netCDF dimension name that will be used to specify x, or longitude, coordinates.

String
y_dimension
(Optional)

The netCDF dimension name that will be used to specify y, or latitude, coordinates.

String
band_dimension
(Optional)

The netCDF dimension name that will be used to specify bands.

String
fields_to_dimensions
[[field, {dimension}, {units}],...]
(Optional)

The field or fields that will be used to create dimensions in the netCDF file.

  • field—A field in the input raster attribute table.
  • {dimension}—The netCDF dimension name
  • {units}—The units of the data represented by the field
Value Table
compression_level
(Optional)

The level at which the output netCDF file will be compressed. The default value is 0, which implies no compression. A value of 9 represents maximum compression.

Long

Code sample

RasterToNetCDF example 1 (Python window)

Converts a raster dataset to a netCDF file.

import arcpy
arcpy.md.RasterToNetCDF("C:/data/elevation","C:/output/elev.nc","elevation",
                        "meter","x","y", "", "")
RasterToNetCDF example 2 (stand-alone script)

Converts a raster dataset to a netCDF file.

# RasterToNetCDF_Ex_02.py
# Description: Converts a raster dataset to a netCDF file.
# Requirements: None

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inRaster = "C:/data/elevation"
outNetCDFFile = "C:/output/elevnetcdf.nc"
variable = "elevation"
units = "meter"
XDimension = "x"
YDimension = "y"
bandDimension = ""
compressionLevel = ""

# Process: RasterToNetCDF
arcpy.md.RasterToNetCDF(inRaster, outNetCDFFile, variable, units, 
                        XDimension, YDimension, bandDimension, compressionLevel)