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

Re: netcdf (operators and c++ class)



> Organization: Texas A&M Ranching Systems Group
> Keywords: 199409291621.AA01664

Hi Dan,

>       my name is Dan Schmitt, and I am with the
> Texas A&M Ranching Systems Group.  We are going to
> use netcdf for an intermediate format for rangeland
> simulation i/o to various GIS systems.
> 
>       We have updated the tcl interface to the
> NetCDF routines (to reference the variables, dims,
> and atts by name from tcl, rather than by the
> numeric handle), and we have started work with the
> prototype c++ netcdf interface.  Our generic system
> design looks somewhat like:
> 
> 
>       +------------+                          
>       | tcl/tk     |           +------------+ 
>       | front end  |           | tcl/tk     |                         
>         +------------+                 | front end  |          +------------+ 
>              |                         +------------+          | tcl/tk     | 
>              v                              |                  | front end  | 
>       +-------------+               v                  +------------+ 
>       | simulation1 |          +-------------+              |         
>       | input       |          | simulation2 |              v         
>       | NetCDF      |          | input       |         +-------------+
>       +-------------+          | NetCDF      |         | simulation3 |
>            |                   +-------------+         | input       |
>              v                              |                  | NetCDF      |
>       +-------------+               v                  +-------------+
>       | c++         |          +-------------+              |         
>       | simulation  |          | c++         |              v         
>       +-------------+          | simulation  |         +-------------+
>              |                         +-------------+         | c++         |
>              V                              |                  | simulation  |
>       +-------------+               V                  +-------------+
>       | simulation  |          +-------------+              |         
>       | output      |          | simulation  |              V         
>       | NetCDF      |          | output      |         +-------------+
>         +-------------+                | NetCDF      |         | simulation  |
>            |                   +-------------+         | output      |
>            |                          |                | NetCDF      |
>            |                          |                +-------------+
>              |            +-------------+                     |
>              |            v                                   |  
>            |  +---------------+                             |
>            +->| accumulator   |<----------------------------+
>                 +---------------+
>                        |
>                        v
>                 +----------------+
>               | cumulative     |
>               | results        |
>                 | NetCDF         |
>               +----------------+
>                        |
>              +---------+
>              v         
>         +-------------+
>         | c++         |
>         | simulation4 |
>         +-------------+
>              |         
>              V         
>         +-------------+
>         | simulation  |
>         | output      |
>         | NetCDF      |
>         +-------------+
> 
> 
> 
> Where simulation1 may be plant growth, simulation2 may be
> grazing effects, simulation3 may be pest effects, and the
> accumulator builds a remaining standing crop (which may
> feed back to plant growth, or feed into a soil moisture
> model (ground coverage.)
> 
> The goal being to allow the swapping, addition, deletion
> of simulations, and to allow a view (NetCDF) of the intermediate
> results.
> 
> I would like to coordinate my efforts with Russ Rew and Steve
> Emmerson, on the operators development (I have a framework
> for the math operator, but it currently does a running total
> of the output, and only allows addition and subtraction,
> and it uses a modified version of the NetCDF c++ class.)

We've put the operators development on hold temporarily while we work to
complete a project of higher priority.  I'm not sure when we'll be able to
resume development.  We had a student working for us this last summer who
completed the nccut and nccat operators, but we haven't had time to package
them with the existing netCDF operators distribution yet.  If you are
working on implementing other operators, we would be very interested in
them, especially if you intend to make them freely available to other netCDF
users.  We've had lots of requests for the netCDF operators, but not much
help in actually implementing any of them yet.

> I would also like to coordinate my c++ efforts with whoever
> is in charge of the c++ class. (I have found a couple of
> bugs, and made some changes to the c++ class to better
> enable subclassing of a netcdf file, as well as a rudimentary
> record operation.)

I wrote and maintain the netCDF C++ classes.  I'd be very interested in your
bug fixes and changes.  I hope you're aware that we have made available a
set of patches to netcdf-2.3.2pl2 to fix bugs found in the C++ classes so
far.  It's available as 

        ftp://ftp.unidata.ucar.edu/pub/netcdf/2.3.2-patch3

Since putting this set of patches together, I have developed one more small bug
fix that I haven't made available yet, but I can send it to you if you're
interested.

> I have found the netcdf C library and documentation to be
> great, keep up the good work.

Thanks, we appreciate positive feedback, even when we don't have time to do
the work it should require.

> 
> Looking forward to hearing from you,
> 
>       Dan Schmitt
> 
> Dan Schmitt
> Systems Analyst
> 
> Ranching Systems Group
> Department of Rangeland Ecology and Management
> Texas A&M University
> College Station Texas 77843-2126
> 
> IEEE Member #3779402
> 
> Phone # (409) 845-7333
> Fax   # (409) 847-9366
> Home  # (409) 846-3914
> ICBM Net: 30 40 27 N, 96 22 11 W

--
Russ Rew                                                UCAR Unidata Program
address@hidden                                          P.O. Box 3000
http://www.unidata.ucar.edu/                          Boulder, CO 80307-3000