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.
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