This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Mazurier, > To: address@hidden > From: mazurier <address@hidden> > Subject: C++ and NetCDF > Organization: Atlantide > Keywords: 199906071555.JAA05878 In the above message, you wrote: > I'am running NetCDF with C++. I would like to extract only a part of > data from my NetCDF file. using the method NcBool GET(...) > > Exemple: my variable have 2 dimensions > > 1 1 > 2 2 > 3 3 > 4 4 > 5 5 > 6 6 > > I would like to extract the data from the third line to the fith. My > result > would be > 3 3 > 4 4 > 5 5 > > I think my question is obvious. Sorry I'am new in NetCDF. > May be I have to use cursor ? I didn't find a method > like GET(vals, from, to)? > > Have a good day > Alain Mazurier > > PS: Sorry for my english, I am a little frenchie There are two reasonable ways to do this -- both involve using the NcVar::set_cur() method: 1. Use NcVar::get() with explict edge lengths: var.set_cur(2, 0) var::get(vals, 3, 2) 2. use NcVar::get() with an edge-length array: long[2] counts = {3, 2} var.set_cur(2, 0) NcVar::get(vals, counts) (Some of the syntax in the above might be incorrect.) Please let me know if this helps. -------- Steve Emmerson <http://www.unidata.ucar.edu>