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. These data are often stored in NetCDF, HDF, and GRIB file formats, which are supported in ArcGIS Pro:
- GRIB—General Regularly-distributed Information in Binary 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 Format 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 data storage for more information. Currently, NetCDF raster types support Climate and Forecast (CF) and Cooperative Ocean/Atmosphere Research Data Service (COARDS) conventions. NetCDF files created using other conventions may work but are not supported.
Additionally, Esri's Cloud Raster Format (CRF) supports multidimensional raster storage, and it is the default output raster format for geoprocessing tools that generate mutidimensional 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 Pro using the Add Multidimensional Raster Layers dialog box. Once the layers are added, you can visualize the variables and slices using tools on 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, and NetCDF 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 easier 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.
Multidimensional data does not need to reside in a mosaic dataset. Make sure that a mosaic dataset is appropriate for your workflow.
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
- 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.
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.
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.
Click the GRIBTAB in the Raster Type Properties pane, 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. Add the variables into your mosaic dataset.
Zarr is a cloud-based data format for improved access to multidimensional data. ArcGIS Pro supports Zarr variables as raster datasets, which you can browse in the Catalog pane, use in analysis, and publishing as image services.
You can browse multidimensional Zarr variables as raster datasets in the Catalog pane, and create a multidimensional raster layer by dragging them to the map.
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.
Some Zarr data is stored in a tile structure—sometimes called a chunk—which is optimized for pixel time series access such as for a 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 also create multidimensional raster layer from a Zarr file directly using the Add Multidimensional Raster Layers tool. With this tool, you can add one or multiple variables by following the steps below.
- From the ArcGIS Pro Map tab, in the Layer group, click the Add Data drop-down list, and select Multidemsional Raster Layer.
The Add Multidimensional Raster Layers dialog box appears.
- Click the Input File, Mosaic Dataset or Image Service drop-down list, and select the Import Variables From Files option.
The import variables dialog box appears.
- Click the file Name format filter drop-down list, and select ZArray (*.zgroup; *.zarr; *.zarray; .zarr.json).
- Select the Zarr folder for Name.
- In the variable list, select one or multiple variables to add.
- Select the Layer Configuration option.
- Click OK to add the configured multidimensional layer the map.