EFDC+ Outputs in NetCDF-CF and UGRID Formats
As modelers, we often deal with a variety of data types that encompass single-point observations, time series, regularly spaced grids, and satellite or radar images. The Network Common Data Form (NetCDF) data format was originally intended to create, access, and share such array-oriented data in a form that is self-describing and portable.
One particular format of NetCDF is NetCDF-CF (NetCDF- Climate and Forecast). The CF conventions allow the user to provide the geospatial and temporal coordinates for scientific data. The CF Conventions have been the standard in climate research for over ten years and are being considered by NASA and the Open Geospatial Consortium to become their standard.
NetCDF is designed to:
- Facilitate the use of common datasets by distinct applications.
- Permit datasets to be transported between or shared by dissimilar computers transparently, that is, without translation.
- Reduce the programming effort usually spent interpreting formats.
- Reduce errors arising from misinterpreting data and ancillary data.
- Facilitate using the output from one application as input to another.
- Establish an interface standard that simpliﬁes the design of new software for accessing geoscience data.
EFDC+ can currently write the native output in NetCDF-CF format for Windows and Linux. EFDC_Explorer (the pre-and post-processor for EFDC+) can also convert the binary files output by EFDC+ (*.OUT) to netCDF.nc files, including the derived water quality parameters. EFDC+ currently exports 44 parameters to NetCDF format. This allows EFDC+ output to be read and displayed on web servers.
The NetCDF software functions as an input/output (I/O) library that can be accessed from many scientific data processing and GIS software packages and different programming languages, such as C, FORTRAN, Fortran 90, C++, Java, Perl, Python, MATLAB, and other languages for which a NetCDF library is available. A NetCDF library stores and retrieves data in self-describing, machine-independent datasets, which are described on the Unidata website. The NetCDF user guide provides details on how NetCDF datasets can contain multidimensional, named variables (of various types that include integers, reals, characters, bytes, etc.), and each variable may be accompanied by ancillary data, such as units of measure or descriptive text. You can learn about NetCDF compression here.
There is now an unstructured (or flexible mesh) model data format for NetCDF called UGRID. DSI is planning to enhance the NetCDF capabilities of the EFDC_Explorer Modeling System (EEMS) in the near future, so that it will be able to handle the UGRID format. Although UGRID is designed for unstructured grids, the advantage for EFDC+ and structured grids is that it writes output for only the active grid cells, rather than the full I,J grid required by web map services for displaying environmental data such as ncWMS. Furthermore, the structure of the output variables is clearly defined, along with the variable name and units. This allows users to easily process EFDC+ output using third-party software. UGRID is also based on the CF Metadata Conventions, but this approach currently assumes that the horizontal topology should be determined from the cell index of the EFDC+ grid rather than the I,J indices of the structured grid. The UGRID approach adds conventions to specify the topology for unstructured (e.g., triangular) grids.
UGRID also provides powerful new capabilities for display on third-party web tools, some of which are listed here. This will provide an enhanced user experience when accessing real-time models using a WebGIS application.