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

[netCDF #WBE-822526]: NetCDF-4 and C++



Lachlan,
> Thanks for the clarification and the prompt response. I'm sure the new C++
> library functions perfectly well and delivers much more punch in terms of
> NetCDF4 features. My only complaints about it are:
> 
> - It seems that the coding style has completely changed (i.e. things like 
> get_var are now getVar etc).
> This is not a huge issue, but it's very jarring moving from one API to the 
> other.
> - The whitespace is inconsistent - things seem to be very strangely aligned 
> in most files. Again, not a
> huge issue, just frustrating to read, and it just led me to question whether 
> this was an 'official' library.

It's a contributed library, written by someone in a different organization (and
scientific discipline), so it may be written to be consistent with the style
and conventions of that organization.

> - The API is undocumented. There is no documentation on the web for this C++ 
> library, and no indication
> that the other library is not applicable. You might want to make a few 
> changes to the page to make it
> more clear what's going on here, as what you've said below makes sense.

Actually it is extensively documented, though there may not be enough links to 
this documentation on our site :

  http://www.unidata.ucar.edu/software/netcdf/docs/cxx4/

If you click on the Namespaces or Classes buttons, you'll see additional 
submenus
that provide documentation of all the Classes, member functions, types, 
namespaces,
and exceptions.  For example, check out this reference for the netCDF::ncVar 
class:

  
http://www.unidata.ucar.edu/software/netcdf/docs/cxx4/classnetCDF_1_1NcVar.html
  
> I'll be happy to provide more feedback on the API once I start using it, but 
> I'll wait
> until CMake support is in before I start using NetCDF 4.2 and the new C++ 
> library.

Great, thanks.  Your feedback about the difficulty in finding the online
documentation is already valuable, and we'll try to fix that.

--Russ

> On Aug 10, 2012, at 2:43 AM, Unidata netCDF Support wrote:
> 
> Hi Lachlan,
> 
> - From what I've seen, the C++ API for version 4.2 looks completely different
> to version 4.1.3 - it doesn't look backwards compatible at all!
> 
> If this is the case, are there any plans to update the C++ interface
> documentation on your website - or at least put a disclaimer on it that
> it is appropriate only for 4.1.3 and earlier?
> 
> Should I even be using this new API?
> 
> It doesn't look professional at all compared to the old one...
> 
> There are actually two C++ APIs for netCDF, both separated out from the C
> distribution, as announced in this netcdfgroup mailing list posting last
> year:
> 
> http://www.unidata.ucar.edu/mailing_lists/archives/netcdfgroup/2011/msg00365.html
> 
> Both packages are available for download here:
> 
> http://www.unidata.ucar.edu/downloads/netcdf/netcdf-cxx
> 
> The legacy C++ library hasn't changed much recently, and doesn't use modern
> C++ features such as exceptions, namespaces, or templates.  We don't have
> plans for developing it further, but we'll keep making it available for
> backward compatibility.  It doesn't support most netCDF-4 features.
> 
> It was not possible to add support for exceptions and namespaces to the new
> netCDF-4 C++ library while keeping it backward compatible, so that was not
> a constraint in adding support for netCDF-4 features.
> 
> If you discover problems with the new netCDF-4 C++ library, we'll forward
> them to the author, Lynton Appel.  He is generously making his changes and
> fixes available to Unidata as time permits.
> 
> --Russ
> 
> 
> Russ Rew                                         UCAR Unidata Program
> address@hidden<mailto:address@hidden>                      
> http://www.unidata.ucar.edu
> 
> 
> 
> Ticket Details
> ===================
> Ticket ID: WBE-822526
> Department: Support netCDF
> Priority: Normal
> Status: Closed
> 
> 
> Lachlan Hetherton
> Software Engineer (Visualisation)
> address@hidden<mailto:address@hidden>
> +613 9545 8041
> 
> 
> 
> 
Russ Rew                                         UCAR Unidata Program
address@hidden                      http://www.unidata.ucar.edu



Ticket Details
===================
Ticket ID: WBE-822526
Department: Support netCDF
Priority: Normal
Status: Closed