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

[netCDF #UIE-956852]: netCDF 4.0 Visual Studio 2005



> Dear Sir/Madam,
>
> We are looking at using netCDF-4 to archive data collected by radars for
> the measurement of surface currents.  A 2D surface current vector map is
> produced for about 5000 geographical locations (always fixed) every
> 10 minutes and for several years.  There will be about 6 different
> installations over the next few years.  Version 4, rather than 3, is
> more attractive because of the support for compound types.  The data
> will include quality estimates as well as other ancillary parameters.
> This is merely by way of providing you with some background, and is
> entirely irrelevant to the questions I am about to ask.

Thanks very much. I am always interested in what users are doing, and I'm
particularly interested in why people are choosing netCDF-4.

What is it about the compound type that you like? Programming convenience?
Read/write performance?

If I understand you correctly you will be storing an array of compound type,
with 5000 members. Each of the 5000 elements will contain a U and V value for
the two components of the current. (Would those be 4-byte ints?) You will have
10 minute data for several years, and I make that out to be 5000 * 2 * 4 *
52,560 bytes per year, or about 2 GB per year, times 6 installations, or about
12 GB per year.

Not a tremendous amount of data these days, but not trivial either. Have you
considered using the compression feature of netCDF-4? Probably you could save a
lot of space, and perhaps improve performance as well.

>
> I downloaded the most recent source distribution and compiled using
> Microsoft Visual Studio C++ 2005 express edition.  When I can be
> bothered I shall download the VS2008 edition and try with that as
> well.
>
> I was successful after making a few minor changes to a number of the
> source files.  Some were a consequence of VS2005 being used instead
> of (I think) VS2003 in the netcdf-4.0/win32/NET directory.  Others
> were a consequence of the VS configuration files being set up for
> netCDF 3.6.1.
>
> There were a number of warnings (which I simply ignored) but all the
> tests completed successfully.
>
> 1) Are you interested in me providing you a list of the changes I made
> to get this to work with 3.6.3 and VS2005?

Yes, absolutely. If you can provide a patch, so much the better. Whatever you
provide, I will put on our website and make available to other users.

Also I will use your comments directly, as one of my soon-to-be-attempted tasks
is to port to VS 2008, which just arrived on my desk last week (and I haven't
even opened the shrik-wrap yet.)

>
> This compilation was just a prelude to trying to compile 4.0.  I have
> the hdf5 and zlib DLLs provided by the hd5 group; these were compiled
> using VS2005.  As these are needed by netcdf-4 I have a strong
> interest in compiling 4.0 using VS2005.

I believe that should not matter. The DLLs will work fine whatever version of
VS they are compiled with, I believe.

If you are familiar with the automake tool, look in libsrc4/Makefile.am to see
how the netCDF-4 build is accomplished. (Basically the libsrc dir is built
first, then the libsrc4 directory).

> 2) Before I wander down that path, I wonder if others have started on
> this as well, so that experiences can be shared and duplications
> avoided, or whether I shall have go it alone.  I have searched your
> support groups and come up with nothing useful yet.

Lots of people are asking for this, and a few have tried it, but no one has
managed to bring it across the finish line.

If you can get netCDF-4 to build under VS, I will make your solution available.
But it must also work in 2008, because I am certainly not supporting multiple
VS versions. I need a working 2008 build, then I will remove the 2003 build
(which is what is currently included with the distribution.)

NetCDF is a community-supported, open-source project, which serves the
worldwide climate and atmospheric community. We have a small (but dedicated,
and extremely good looking) programming staff. We depend on the support of
expert users in porting to new platforms. Your efforts will be most welcome,
will benefit users all over the world, and will earn you a mention on the
highly prestigious web page listing those who have contributed to netCDF.

>
> Parallel to this, I have also written a Delphi/freepascal import unit
> that accesses the netCDF 3.6.3 DLL (with prototypes in place for when
> I get netCDF-4 compiled).  This includes routines with the same
> arguments as the C functions (nc_), as well as a second set of
> routines that wrap around the C routines but with arguments more
> appropriate for Pascal (Delphi/freepascal).  For this I have used
> a np_ prefix.
>
> 3) Do you have any comments about this work, and me using np_ for the
> Pascal routines?

I urge you to package it up, and to post it to the netcdf mailing group, and to
send it to address@hidden, so we can list it among the other
netCDF ports.

Keep on netCDFing, even though everything must be upside down, and the toilets
flush backwards there!

;-)

Ed



Ticket Details
===================
Ticket ID: UIE-956852
Department: Support netCDF
Priority: Normal
Status: Closed