This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Hi, > I have a little confusion about the parallel API of NetCDF. Since there > are parallel-netcdf library and parallel arguments in F90 API, which > API should I use? The parallel-netcdf library from Argonne/Northwestern is for netCDF classic and netCDF 64-bit offset files, and only supports the "classic" netCDF data model. You can either use the parallel-netcdf API (which is different from the Unidata netCDF-3 API, for example some types are different), or you can use the Unidata F90 API built on top of the parallel-netcdf library and compatible with the Unidata serial F90 API. Here's another explanation of the differences from the parallel-netcdf developers: http://trac.mcs.anl.gov/projects/parallel-netcdf/wiki/PnetcdfAndNetcdf4 > I see the page > > (http://www.unidata.ucar.edu/software/netcdf/docs/build_parallel.html) > > for building parallel I/O support, but we got HDF5 parallel and > parallel-netcdf. Is that to say, if I use classic format, I should use > parallel-netcdf (only F77 API?), or if I use NetCDF4 format, I should > use HDF5 support? For classic format, you will use parallel-netcdf, but you can use the Unidata F90 API for that. If you use the netCDF-4 format, you can also use the Unidata F90 API, but it will call the HDF5 library for parallel I/O. > In our work, we need classic format. So I need to install parallel-netcdf > first, then install netcdf (F90 API) with "--enable-pnetcdf" option. When > coding, I use F90 API with parallel arguments (e.g. MPI communicator). Is > that right? Yes, that's right, except that even though you're only using classic format, you still need to install the HDF5 library built with --enable-parallel, and build netCDF-4 using that, as explained here: http://www.unidata.ucar.edu/netcdf/workshops/2012/pnetcdf/BuildingParallel.html You also need to supply a special create-mode flag, NC_PNETCDF, as in this example: http://www.unidata.ucar.edu/netcdf/workshops/2012/pnetcdf/PnetCDF.html --Russ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu Ticket Details =================== Ticket ID: RBH-568742 Department: Support netCDF Priority: Normal Status: Closed