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.
NetCDF developers, Recently the NCL group got a dataset from user which cause segmentation fault. Here are the some info about this dataset (from out ncl script): > cat b.ncl setfileoption("nc", "usenewhlfs", True) f=addfile("vp.850.nc","r") print(f) > ncl b.ncl Copyright (C) 1995-2012 - All Rights Reserved University Corporation for Atmospheric Research NCAR Command Language Version 6.1.0 The use of this software is governed by a License Agreement. See http://www.ncl.ucar.edu/ for more details. Variable: f Type: file filename: vp.850 path: vp.850.nc attributes: description : ERA Interim vp at 850 hPa. references : Simmons et al. 2006 source : ECMWF: http://data-portal.ecmwf.int/data/d/interim_daily/ creation_date : Thu Jan 26 17:59:46 UTC 2012 source_file : /ecmwf/interim//*/u&v*.grib dimensions: time = 33349 // unlimited lat = 121 lon = 240 chunk dimensions: time = 1 // unlimited lat = 121 lon = 240 variables: time: <double> [ 33349 <time | unlimited> ] Chunking Info: [ 1 <time | unlimited> ] attributes: last_time : 2011-10-30 00:00:00 first_time : 1989-01-01 00:00:00 delta_t : 0000-00-00 06:00:00 long_name : initial time units : hours since 1800-01-01 00:00:00 lat: <float> [ 121 <lat> ] Chunking Info: [ 121 <lat> ] attributes: actual_range : ( -90.000000, 90.000000 ) delta_y : 1.500000 coordinate_defines : center mapping : cylindrical_equidistant_projection_grid grid_resolution : 1.5_degrees long_name : latitude units : degrees_north lon: <float> [ 240 <lon> ] Chunking Info: [ 240 <lon> ] attributes: actual_range : ( -180.000000, 178.500000 ) delta_x : 1.500000 coordinate_defines : center mapping : cylindrical_equidistant_projection_grid grid_resolution : 1.5_degrees long_name : longitude units : degrees_east vp: <float> [ 33349 <time | unlimited>, 121 <lat>, 240 <lon> ] Chunking Info: [ 1 <time | unlimited>, 121 <lat>, 240 <lon> ] attributes: _FillValue : -999.900024 mapping : cylindrical_equidistant_projection_grid grid_resolution : 1.5_degrees pressure_level : 7310034281957426002 units : m^2s^-1 long_name : velocity_potential By debugging with this dataset, we are able to trace back the problem is from: libsrc4/nc4hdf.c, in function nc4_get_var(). We made some change to this function and now NCL works. The code we have changed are: start from line: 1075: The original: if (!scalar && provide_fill) { void *filldata; int real_data_size = 0; int fill_len; /* Skip past the real data we've already read. */ if (!no_read) for (real_data_size = 1, d2 = 0; d2 < var->ndims; d2++) real_data_size *= (count[d2] - start[d2]) * file_type_size; to new: if (!scalar && provide_fill) { void *filldata; size_t real_data_size = 0; size_t fill_len; /* Skip past the real data we've already read. */ if (!no_read) { for (real_data_size = 1, d2 = 0; d2 < var->ndims; d2++) real_data_size *= (count[d2] - start[d2]); real_data_size *= file_type_size; } Regards, Wei huangwei@xxxxxxxx VETS/CISL National Center for Atmospheric Research P.O. Box 3000 (1850 Table Mesa Dr.) Boulder, CO 80307-3000 USA (303) 497-8924
netcdfgroup
archives: