[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


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.