[ncl-install] NCL install with NetCDF-4 undeclared variable NC_NETCDF4

Marcin Sliwowski ms275 at duke.edu
Tue Feb 17 08:00:52 MST 2009


Mary,

I am still confused on this topic.

The netcdf site states the following:

the netCDF-4.x releases will only build with the netCDF-4 enhanced
features if "--enable-netcdf-4" is provided as a configure option. By
default the distribution will build the classic netCDF-3 library. We
believe that most users will not need the enhanced netCDF-4 features at
this time.

So when I read the above I actually did not have to specify
--disable-netcdf-4 when configuring my netCDF install but I did it just
in case. I expected the end product to be a classic netCDF-4 without the
new enhanced features. Then when I am configuring NCL and it asks do I
want classic netCDF-4 support I say yes.

Is there a mislabeling of what classic means between NCL and netCDF-4?

I thought that classic NetCDF-4 is basically the previous netCDF-3
format support within netCDF-4. The new enhanced netCDF-4 feature is the
use of HDF-5 instead of HDF-4 and is enabled by the config flag
--enable-netcdf-4

I have read the NCL installation guide front and back focusing on the
NetCDF section and there does seem to be some confusion regarding what
classic means:

The guide states without classic netCDF-4 support configure the
following way:

./configure --disable-f90 --prefix=/usr/local

With "classic" netCDF-4 support it instructs to get HDF-5 and set the
configure flag enable-netcdf-4, but this is in contrast to what the
netCDF site states. It seems that NCL is misusing the term classic, to
mean the brand new and enhanced netCDF-4.

Please correct me if I am wrong.

Thanks,
Marcin


Mary Haley wrote:
> Hi Marcin,
>
> If you want classic NetCDF 4 support, then you will need to build
> NetCDF 4.x with --enable-netcdf set, and make sure --disable-netcdf-4
> is not set.
> Everything else you're doing is correct.
>
> You may also want to look at #6 at:
>
> http://www.ncl.ucar.edu/Download/build_from_src.shtml#Troubleshooting
>
> With the newer versions of HDF, the "hdf/netcdf.h" include file
> doesn't get installed, so you need to remove this reference from the
> NCL code.
>
> --Mary
>
> On Mon, 16 Feb 2009 15:42:37 -0500
>  Marcin Sliwowski <ms275 at duke.edu> wrote:
>> Hello Everyone,
>>
>> I installed netCDF-4 and used the following config flags:
>>
>> --prefix=/usr/local/netcdf-4.0-pgi --disable-shared
>> --enable-large-file-tests --enable-docs-install --disable-netcdf-4
>>
>> I installed hdf4.2r4 and used the following config flags:
>>
>> --prefix=/usr/local/hdf4.2r4-pgi/ --disable-netcdf
>> --with-jpeg=/usr/local/jpeg-6b-pgi
>>
>>
>> My problem is on compiling NCL v5.0.0, Two problems encountered and
>> solved via troubleshooting guide, one last error remains.
>>
>> During the NCL configure I say yes to include netCDF-4 support into NCL
>> because according to the way I understand it I am only asking for the
>> "classic" NetCDF support not the new extended netCDF, which is why I set
>> the flag --disable-netcdf-4 on the config for netCDF-4
>>
>> Error 1: PGC-F-0206-Can't find include file hdf/netcdf.h (NclHDF.c: 26)
>> Solved by commenting out: #include <hdf/netcdf.h> in NclHDF.c and
>> NclHDFEOS.c as suggested by troubleshooting guide
>>
>> Error 2: PGC-S-0039-Use of undeclared variable MAX_NC_NAME (NclHDF.c:
>> 313)
>> Solved by inserting the #defines as indicated in the troubleshooting
>> guide
>>
>> Error 3: PGC-S-0039-Use of undeclared variable NC_NETCDF4
>> (NclNetCdf.c: 744)
>> PGC-S-0039-Use of undeclared variable NC_CLASSIC_MODEL (NclNetCdf.c:
>> 744)
>>
>> This error does not occur when I answer "no" to the include netCDF-4
>> support into NCL, but I want the classic NetCDF-4 support in NCL.
>>
>> Does anyone have any guidance or advice to get by this error?
>>
>> Thank You,
>> Marcin
>>
>> -- 
>> Marcin Sliwowski
>> Systems Programmer
>> Duke University - Pratt School of Engineering
>> 919-660-8450
>>
>> _______________________________________________
>> ncl-install mailing list
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-install
>


-- 
Marcin Sliwowski
Systems Programmer
Duke University - Pratt School of Engineering
919-660-8450



More information about the ncl-install mailing list