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

[netCDF #MSV-188900]: C++ API for NETCDF version 4.0



Hi Lynton,

> I have been working hard to progress the C++ NETCDF4 API. It has been 
> vastly  more work than I had anticipated. The current situation is that 
> most of the design and implementation is done, and I have compiled but 
> not tested the C++ API. I hope that it will meet with your approval.
> Rather than wait for completion, I would like it if you could give your 
> views on the current state.  I attach a word (openoffice) document 
> summarising the API.
> 
> I am also attaching the gzipped tarred file containing the source code 
> and the doxygen-generated documentation. This is contained in a 
> subdirectory doc/html/index.html. I would be interested to know what you 
> think of this. I like the way that the documentation is closely tied to 
> the source code, and the final result.

Thank you, the new C++ netCDF-4 API looks wonderful!

I haven't had time to evaluate it except by reading the Word document,
looking at some of the source files, and looking at the DOxygen
documentation in a Web browser, but the small number of classes and the
decisions embodied in your object design all look great to me.  The
DOxygen documentation looks elegant and well organized.

I hope there is something we can help with, especially if there are
tasks left that require something more than C++ templates to handle all
the primitive types, for example.  I could try to provide m4 macros for
factoring out commonality in parts of code or documentation that are not
handled by C++ templates, or we could handle integrating things into our
autotools configuration as well as writing some tests.

That said, I can't offer any help until after our Aug 2-3 netCDF
workshop is over, as there is still lots of work left for that.

However, I suggest that we include the code as an experimental addition
to the next release (now scheduled for late October), with disclaimers
and requests for help with testing and debugging.  That's what we did
with the Fortran-90 API when it was first made available with almost no
testing, and it worked quite well, as we got lots of helpful feedback
and no unreasonable demands for support from what was basically a
voluntary development effort (contributed by Robert Pincus, then a
faculty member at the University of Wisconsin).  In that effort, we were
able to take over maintenance and support of the code and gradually
build up the volume of tests, so that we now have about as much
confidence in the Fortran-90 API as in the C interface.

Anyway, thanks again for all your work so far.  I wish there were some
way we could provide something in return.  For example, it might be
possible for us to cover your travel and per diem expenses for a visit
to Boulder for a week on a consultation.  I can't promise we could work
out such an arrangement, but it is definitely a possibility, if you were
interested and there was a mutually convenient time in the next year or
so.

--Russ



Ticket Details
===================
Ticket ID: MSV-188900
Department: Support netCDF
Priority: Normal
Status: Closed