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

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



Li,

> Thank your for explanation! So the F90 API is the same for both 
> parallel-netcdf and HDF5. I can specify which underlying implementation when 
> building the library and setting of 'nf90_create' cmode (NF90_PNETCDF or 
> NF90_HDF5?). Is that right?

Yes, exactly.

> One more question, I see there are 'non-blocking' and 'buffer' 
> functionalities in parallel-netcdf, but there seems to be no counterpart in 
> F90 API. If I want to use 'non-blocking' with F90 API (sorry, I feel no 
> comfortable with F77 API in parallel-netcdf), is there any possible way or 
> maybe I missed something?

No, sorry, those aren't implemented in the netCDF Fortran API's.  If you need 
those 
functionalities, you'll have to use the parallel-netcdf software.

--Russ

> Best regards,
> 
> Li
> -----------------------------------------
> Dr. Li Dong (??)
> LASG, Institute of Atmospheric Physics
> Chinese Academy of Sciences
> P.O. Box 9804
> Beijing 100029, China
> Phone: 8610-8299 5143
> 
> ? 2013-5-31???12:14?Unidata netCDF Support <address@hidden> ???
> 
> > 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
> >
> 
> 
> 

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