[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #RBH-568742]: Which parallel Fortran API to use?



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