[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[netCDF #RBH-568742]: Which parallel Fortran API to use?
- Subject: [netCDF #RBH-568742]: Which parallel Fortran API to use?
- Date: Thu, 30 May 2013 10:14:54 -0600
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