[Gdal-dev] Re: GDAL netcdf convention CF support
Dominic Lowe
d.lowe at rl.ac.uk
Thu Aug 18 05:00:18 EDT 2005
Hi Denis,
I'd also done a "bit" of work on this, but I'll happily abandon my
efforts if your driver is now in the distribution.
I had a look at your code (haven't compiled it yet) but one thing I had
in my driver that you might like to consider adding is a check to see if
the file is CF compliant (or rather, a check to see if it has the CF
"Conventions" attribute).
Also, if I remember rightly (it's been a few months since I wrote it)
this check should stop your netCDF driver picking up "GMT" grid files,
which should be left to the GMT driver to deal with.
This is the check I added, with a bit of the existing code for reference:
/* -------------------------------------------------------------------- */
/* Try opening the dataset. */
/* -------------------------------------------------------------------- */
int cdfid, dim_count, var_count;
if( nc_open( poOpenInfo->pszFilename, NC_NOWRITE, &cdfid ) != NC_NOERR )
return NULL;
/*
----------------------------------------------------------------------- */
/*This bit added by Dominic Lowe, British Atmospheric Data Centre.*/
/*Checking for CF (Climate & Forecast) compliance:
First check for Conventions global attribute*/
/*
----------------------------------------------------------------------- */
attname = (char *) malloc(NC_MAX_NAME*sizeof(char));
if ((status = nc_get_att_text(cdfid, NC_GLOBAL, "Conventions",
attname)) != NC_NOERR)
{
CPLError( CE_Warning, CPLE_AppDefined, "No Conventions global
attribute");*/
/* note that 'Conventions' is always capital 'C' in CF spec*/
return NULL;
nc_close( cdfid );
}
/*then check Conventions is of the form "CF-etc" eg "CF-1.0"*/
if( attname[0] != 'C'
|| attname[1] != 'F'
|| attname[2] != '-' )
{
CPLError( CE_Warning, CPLE_AppDefined, "Convention attribute did
not match CF convention");
return NULL;
nc_close( cdfid );
}
/*
----------------------------------------------------------------------- */
Hope that's useful, I'll give the driver a go sometime soon.
Dominic
Denis Nadeau wrote:
> GDAL now supports netcdf format using CF convention as specified by
> unidata.
>
> http://my.unidata.ucar.edu/content/software/netcdf/conventions.hdf
>
> The software looks if the variables lat/latitude and lon/longitude are
> presents in the netcdf file. If found, these variables are used to
> specify the georeferencing transformation.
>
> I'd like the community to try it out and if there are some problems,
> let me know. GDAL netcdf format also works on Windows with he
> precompile library version 3.6.1-beta1 (January 2005).
>
> Regards,
> Denis Nadeau
>
More information about the Gdal-dev
mailing list