Re: [netcdf-hdf] [netcdfgroup] NetCDF: HDF error, and now what?

  • To: "John Urbanic" <urbanic@xxxxxxx>
  • Subject: Re: [netcdf-hdf] [netcdfgroup] NetCDF: HDF error, and now what?
  • From: Ed Hartnett <ed@xxxxxxxxxxxxxxxx>
  • Date: Tue, 25 Oct 2011 10:37:46 -0600
"John Urbanic" <urbanic@xxxxxxx> writes:

> Thanks for the quick follow-up, Ed.  Two amplifications on your answer would
> be helpful:
>> nc_set_log_level(3);
>> (There is also a fortran version.)
> I noticed this mentioned in passing in the mail archives, but do not see it
> in any of the manuals.  I'll just give "nc_set_log_level(5, err)" a try in
> the f90 code.  I am using the Version 4.1.3 NetCDF Installation and Porting
> Guide and Fortran 90 Interface Guide, among others.  Am I missing a useful
> source of documentation?

No, it's a secret. Shhh! Don't tell anyone!

In fortran you want nf_set_log_level(), where there is one argument, an
integer from 0 to 6. 0 will show only errors. 6 will show a ton of

1, 2, or 3 are reasonable for debugging.

You probably only want to use this on one processor, instead of all of
them. Probably this will mess up any delicate timing or fast processing,
but you won't care for debugging.

Setting it to anything above 1 will also turn on the HDF5 error stack
reporting, so that you will see HDF5 error messages.

>> If this doesn't work, fire up the parallel debugger and see where HDF5 and
> netCDF are failing to get along...
> That is my normal inclination.  However, the code isn't crashing.  put_var()
> is just returning a ""NetCDF: HDF error" and continuing on its way - with
> data missing in the file.  The parameters look the same as other valid
> iterations (I am trapping the error and printing them out) so I am not sure
> what to look for at that point.  Any clues appreciated.

I used that error whenever netCDF-4 is doing something that I think
should be legal, but some HDF5 function returns an error. So it's a
grab-all for something unexpected in the HDF5 layer.

See if the HDF5 error messages and log messages give a clue...



Ed Hartnett  -- ed@xxxxxxxxxxxxxxxx