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, or 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 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, or NetCDF 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 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, or 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 easy to create, use, and manage.
- If your application involves computing from multiple variables using a raster function template, you need to 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:
- 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, 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.