[Ubuntu] [UbuntuGIS] #27: netcdf-4 unsupported in gdal builds
UbuntuGIS
trac at osgeo.org
Fri Nov 16 10:27:37 PST 2012
#27: netcdf-4 unsupported in gdal builds
-----------------------+----------------------------------------------------
Reporter: etourigny | Owner: ubuntu@…
Type: defect | Status: new
Component: GDAL | Severity: important
Keywords: |
-----------------------+----------------------------------------------------
The ubuntugis-unstable builds of gdal have a problem with netcdf-4
files (which use hdf5 storage).
The consequence is that netcdf-4 files are not supported in apps that
use gdal (like qgis), because the hdf5 driver is used and it does not read
dimension information of netcdf-4 files.
Long story short - proper detection of netcdf-4 support in gdal netcdf
driver requires nc-config which is in netcdf-bin package - although it
should be in libnetcdf-dev (these are built by ubuntu).
==> Simple fix is to add netcdf-bin as a dependency for gdal.
Long story:
netcdf-4 files use hdf5 format, but the netcdf driver should try to
open them first. If the file has nc/nc2/nc4/cdf suffix, the netcdf
driver tries to open the file, and if it fails then the hdf5 driver is
used.
Normally the netcdf driver is loaded before the hdf5 driver.
This works well on my builds, but it doesn't work with the ubuntugis
builds.
I have traced the source of the problem to the build log at
https://launchpadlibrarian.net/122450487/buildlog_ubuntu-oneiric-
amd64.gdal_1.9.2-2~oneiric6_BUILDING.txt.gz
{{{
checking for nc-config... no
did not find nc-config, some features may be missing
use --with-netcdf=/path/to/netcdf or add nc-config to PATH
checking for nc_open in -lnetcdf... yes
}}}
Proper output (which I get by building the same package from source using
dpkg-buildpackage)
{{{
checking for nc-config... /usr/bin/nc-config
checking libnetcdf compiler and linker flags with nc-config...
got version="netCDF 4.1.1", prefix="/usr",
libs="-L/usr/lib -lnetcdf", includedir="/usr/include"
checking for nc_open in -lnetcdf... yes
checking for netcdf-4 (and HDF5) support in libnetcdf... yes
}}}
The source of this error is that libnetcdf used for the build lacks nc-
config.
You can try with the sample datasets in the gdal autotest :
autotest/gdrivers/data/trmm-nc4.nc
with gdal-1.9.2-2 from ubuntugis-unstable (oneiric):
$ gdalinfo /data/src/gdal/svn/branches/1.9/autotest/gdrivers/data/trmm-
nc4.nc
Driver: HDF5Image/HDF5 Dataset
Files: /data/src/gdal/svn/branches/1.9/autotest/gdrivers/data/trmm-nc4.nc
Size is 40, 40
Forcing the use of the netcdf driver works (because libnetcdf does has
hdf5 support):
$ gdalinfo NETCDF:/data/src/gdal/svn/branches/1.9/autotest/gdrivers/data
/trmm-nc4.nc
Warning 1: NetCDF driver detected file type=5, but libnetcdf detected
type=3
Driver: netCDF/Network Common Data Format
Files: none associated
Size is 40, 40
with a custom build works out of the box :
$ gdalinfo NETCDF:/data/src/gdal/svn/branches/1.9/autotest/gdrivers/data
/trmm-nc4.nc
Driver: netCDF/Network Common Data Format
Files: none associated
Size is 40, 40
--
Ticket URL: <http://trac.osgeo.org/ubuntugis/ticket/27>
UbuntuGIS <https://launchpad.net/~ubuntugis>
UbuntuGIS is dedicated to keeping Ubuntu up to date with a suite of the best Geospatial Open Source Software.
More information about the Ubuntu
mailing list