Multidimensional raster types

Multidimensional raster data is often used in the scientific community to store meteorological and oceanographic data such as temperature, humidity, wind speed, and direction. Data is normally stored as variables, where each variable is a multidimensional array that represents data captured at multiple times, and at multiple heights, depths, or pressures. This data is often stored in NetCDF, HDF, GRIB, and Zarr file formats, which are supported in ArcGIS AllSource:

  • GRIB—General Regularly-distributed Information in BinaryWorld Meteorological Organization is a concise data format commonly used in meteorology to store historical and forecast weather data. The GRIB raster type allows you to add GRIB 1 and GRIB 2 data into a mosaic dataset.
  • HDF—Hierarchical Data FormatThe HDF Group is a format designed by the National Center for Supercomputing Applications (NCSA) to store scientific data. The HDF raster type allows you to add raster data stored in HDF5 or HDF4 into a mosaic dataset. Nonraster data stored in an HDF file is ignored by the HDF raster type.
  • NetCDF—Network Common Data Form is a file format for storing multidimensional data. See Fundamentals of NetCDF for more information. Currently, NetCDF raster types support Climate and Forecast (CF)CF Conventions and Metadata and Cooperative Ocean/Atmosphere Research Data Service (COARDS) conventions. NetCDF files created using other conventions may work but are not supported.
  • Zarr—A cloud-based data format for improved access to multidimensional data. ArcGIS AllSource supports Zarr variables as raster datasets, which you can browse in the Catalog pane, use in analysis, and publishing as image services.

Additionally, Esri's Cloud Raster Format (CRF) supports multidimensional raster storage, and it is the default output raster format for geoprocessing tools that generate multidimensional rasters. The .crf file is optimized for writing and reading large files in a distributed processing and storage environment. In a .crf file, multidimensional raster data is divided into smaller bundles of tiles, which allows multiple processes to write simultaneously to an output. You can build a multidimensional transpose on a .crf file, which improves performance when extracting data across a dimension, for example when creating a temporal profile chart.

You can display GRIB, HDF, NetCDF, and Zarr data in a map in ArcGIS AllSource using the Add Multidimensional Raster Layers dialog box. Once the layers are added, you can visualize the variables and slices using tools in the Multidimensional tab, you can analyze the layers using raster functions or geoprocessing tools, or you can convert the layers to CRF using the Copy Raster tool.

You can add GRIB, HDF, NetCDF, and Zarr data to a mosaic dataset, which can be used to manage and process multidimensional data. Multidimensional mosaic datasets can manage one or multiple variables. Whether you should put all variables in one mosaic dataset or create one mosaic dataset per variable depends on the application.

  • If your application only uses one variable, or a few independent variables, one mosaic per variable is more efficient to create, use, and manage.
  • If your application involves computing from multiple variables using a raster function template, you must add all the variables used by the template in one mosaic.
  • If you want to serve scientific data and want to minimize the number of services, you can add multiple variables to a mosaic and use the variable selector template to access each variable.

For example, you can add temperature, relative humidity, and wind speed variables, stored in NetCDF files, to a mosaic dataset. From these variables, you can construct a raster function template to compute wind chill index and heat index, and add the templates to the mosaic dataset. You can use the original variables and the new templates to visualize temperature, wind speed, humidity, wind chill, and heat index.

You can use the Groupname field when querying variables at a specific depth and location. The Groupname field defines the groups for items in a mosaic dataset. Items with the same Groupname value belong to one group. A raster function template of item group type will compute from the variables within each group and generate a raster for each group.

Sometimes one item will participate in the computations of all groups. In this case, instead of duplicating this item to each group, set the Groupname for that item as * and with valid values for Tag and Variable fields.

Note:

CRF does not support templates defined with Groupname. If you want to define a template that works for both a multidimensional mosaic dataset and a multidimensional CRF, it is recommended that you use the Multidimensional Filter function to extract the variable for use in raster functions.

NetCDF and HDF

Some NetCDF or HDF data stores its geolocation as irregularly spaced arrays. When adding to a mosaic dataset, the data is automatically converted to square pixels for display purposes only. The cell size is estimated, but you can change this in addition to setting an interpolation method. Supported interpolation methods include the following:

  • Nearest Neighbor
  • Bilinear
  • Linear Tinning
  • Natural Neighbor

In most cases, nearest neighbor and bilinear are recommended. When working with sparse or incomplete datasets, linear tinning and natural neighbor may be appropriate.

GRIB

Some GRIB products store variables using a parameter code instead of an actual name. A GRIB TAB file with the extended metadata information is required to serve as an interpreter for the code. The text file—normally provided by the organization who produced the data—has a .TAB extension and contains the parameter code, name, center, subcenter, and the table version that produce the data. For example, NASA’s NLDAS dataset requires a GRIB .TAB file to interpret variable code 153. The GRIB .TAB file that accompanies the data looks like the example below.

GRIB TAB parameters

Where:

153 is the code
CONVfract  is the variable name
The text after the variable name is the long name
7 is the data center
12 is the data subcenter
130 is the table version

When you add NLDAS data to a mosaic dataset using GRIB raster type, you will see a variable is defined as VAR153.

Raster Type properties for GRIB TAB data

Click the GRIBTAB in Raster Type Properties, add the GRIB TAB file or the folder that stores all the GRIB TAB files for your datasets, click the Variables tab again, and you will see that the variable is interpreted correctly in the Description field. Add the variables into your mosaic dataset.

Zarr

You can browse variables as raster datasets in the Catalog pane, and create a multidimensional raster layer by dragging it to the map.

Note:

If you do not see the raster dataset icon when browsing for Zarr files, check .zarray and .zattrs files in the variable directory to make sure these dataset identifier files are not hidden.

A Zarr dataset can be an input in geoprocessing tools, and Zarr variables can be published, by reference, using ArcGIS Enterprise.

Note:

Some Zarr data is stored in a tile structure—sometimes called a chunk—instead of a pixel time access structure such as temporal profile chart. It is recommended that you avoid displaying this type of data as a raster because it takes a long time to render.

You can create a multidimensional raster layer from a Zarr file using the Multidimensional Raster function, or Make Multidimensional Raster Layer geoprocessing tool.


In this topic
  1. NetCDF and HDF
  2. GRIB
  3. Zarr