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.
Lynton, > Thanks for the reply. I had been looking at the cxx directory, not the > cxx4 directory. > I see the cxx4 directory appears to have some of the features missing in > cxx. Do you advise to work from this? Yes, at least if that seems practical. When you run the configure script to build, check, and install netCDF, including the configure option --enable-cxx-4 will cause the cxx4 directory to be used after the cxx directory for building. I just tried it and noticed a portability problem in cxx4/ncatt.cpp that prevents me from testing it, but it looks like it would be easy to fix (it assumes "__FUNCTION__" is a predefined macro that identifies the current function, used in error messages constructed when an exception is thrown, e.g. see cxx4/ncatt.cpp line 44 or line 53). Ed Hartnett was overseeing the summer project to implement this C++ netCDF-4 interface, so he knows more about what didn't get completed and where work is most needed. It may already implement enough of the netCDF-4 interface that you won't need to do much, depending on your requirements. I'll CC: Ed on this message in case he wants to add comments on this issue. We would really appreciate any contributions you could make to improving this C++ netCDF-4 implementation, even if it's only an objective evaluation of what's there and a recommendation for how practical it will be to complete or how much effort it will take. Bug fixes will also be gratefully accepted. > I presume (please tell me otherwise!) that I will NOT need to transfer > stuff from cxx into cxx4. I think that's right, but Ed may have made some additions to the cxx sources since the cxx4 sources were written, so I'll let him provide the definitive answer to that question. > Are you happy not to make calls to nc__open? I see that the cxx4 uses > nc_open but has retained in its API a chunk size pointer. The calls to nc__open were only made to set some infrequently used tuning parameters for the netCDF-3 files (because the netCDF-4 library is fully compatible with netCDF-3 and can create netCDF-3 classic files as well as netCDF-4/HDF5 files). I have renamed the "chunksize" pointer to a "bufrsize" pointer in our next release, to avoid confusion with the variable chunking and chunk sizes supported in netCDF-4, which are unrelated to this bufrsize parameter used for performance tuning. > I think my work will be mainly to tidy up the cxx4 API and make sure it > is working for me. I can add documentation also. That would be great! I hope you find it usable, but if not, please let us know where it needs work. Thanks! > Any advice will of course be useful. We'll be happy to tell you what we know ... --Russ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu Ticket Details =================== Ticket ID: MSV-188900 Department: Support netCDF Priority: Normal Status: Closed