NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.

RE: netcdf c++ implementation problem

Fei --

The problem appears to be that "get(&x, 10, 10)" has an error (both times). 
Those 10's mean you want a 10 by 10 chunk of data, but x only provides space 
for a single value. 

If instead of
    double x,y;
You had
    double x[10][10];
you should be in the clear.

If you don't actually want a 10 x 10 chunk of data, and instead want the value 
at indices i=10 and j=10, you'd do:
    double x;
    geolon_t->set_cur(10, 10);
    geolon_t->get(&x, 1, 1)

Also, here's a general recommendation... The NetCDF library can easily be built 
with debugging ("-g" for gcc and likely others) and you could then inspect the 
core dump relatively easily, e.g.

gdb your_sample_exe core

and from within gdb issue commands like where, frame, and print.

Best of luck

Kurt Hanson

-----Original Message-----
From: owner-netcdfgroup@xxxxxxxxxxxxxxxx
[mailto:owner-netcdfgroup@xxxxxxxxxxxxxxxx]On Behalf Of Fei Liu
Sent: Wednesday, February 22, 2006 10:18 AM
To: netcdfgroup@xxxxxxxxxxxxxxxx
Subject: netcdf c++ implementation problem



Hi, group, I am replying to a message I sent out a few days ago to another 
email list:

>
>NetCDF C++ library is compiled with:
>
>GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-85)
>
>Here is the sample code:
>
>#include <netcdfcpp.h>
>#include <iostream>
>
>using namespace std;
>
>// g++ -o t testnccpp.cpp -lnetcdf_c++ -lnetcdf -L/usr/local/lib
>
>int main(void){
>
>  NcFile file("grid_spec.nc");
>
>  NcVar * geolon_t = file.get_var("geolon_t");
>
>  cout << "Type: " << geolon_t->type()<< endl;
>  for(int i = 0; i < geolon_t->num_dims(); i ++)
>    cout << i << ": " << geolon_t->get_dim(i)->size() << endl;
>  double x,y;
>
>  if(geolon_t->get(&x, 10, 10))
>    cout << x << endl;
>  if(geolon_t->get(&x, 10, 10))
>    cout << x << endl;
>  file.close();
>}
>
>The wierd part is the program core dumps after the 2nd call 
>geolon_t->get(&x..., here is the output:
>
>Type: 6
>0: 200
>1: 360
>-279.5
>-279.5
>Segmentation fault (core dumped)
>
>I am seeking any clue/simiar experience as why the program core 
>dumps?....
>
>-- 
>Fei Liu, PhD.                    phone: 609-4526551
>RSIS/GFDL/NOAA                   fax:   609-9875063
>P.O. Box 308, 201 Forrestal Rd.  http://www.gfdl.noaa.gov/~fil
>Princeton, NJ 08542-0308         email: Fei.Liu@xxxxxxxx
>
>
>




  • 2006 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: