[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #YTY-788071]: netcdf 4 GB variable size questions



> Hi Russ--
>
> Okay, I'm pretty sure I'm using the correct version of the netcdf
> libraries.  I just had to rearrange the $PATH variable in my .bashrc
> file.
>
> I am unable to compile the program using the 'nf90_hdf5' flag.  Here
> is the error:
>
> fortcom: Error: combine_wrf_files.f90, line 103:  This name does not
> have a type, and must have an explicit type.  [NF90_HDF5]
> status = nf90_create(outfile, OR(NF90_NOCLOBBER,NF90_HDF5), ncdfIDout)
> ------------------------------------------------------------------------
> ------^
> fortcom: Error: combine_wrf_files.f90, line 103:  The intrinsic data
> types of the arguments must be the same.  [OR]
> status = nf90_create(outfile, OR(NF90_NOCLOBBER,NF90_HDF5),ncdfIDout)
> ------------------------------------------------------------------------
> ------^
>
>
> Does this error mean that the hdf5 libraries may not be installed
> correctly or that the hdf5 and netcdf4 libraries aren't linking to
> each properly?  Also, do the new netcdf and hdf libraries need to be
> built with relatively new ifort libraries?  We are currently using
> this version of ifort:
>
> Version 9.0           Build 20050430 Package ID:  l_fc_p_9.0.021
>
> Thank you for your help.
>
> --Jason
>
>

Howdy Jason!

I am pretty sure you are not pointing to the netCDF-4 netcdf.mod file with your
-I argument on the fortran compile line.

I have added a test to netCDF, in subdirectory nf_test, it is called:
tst_flarge.f90.

It creates a very large netCDF-4 dataset like this:

  ! Create the file with 2 NF_DOUBLE vars, each with one really long
  dimension.
  call check(nf90_create(path = trim(fileName), cmode = nf90_hdf5, ncid =
  ncFileID))
  call check(nf90_def_dim(ncid = ncFileID, name = dimName, len =
  MAX_CLASSIC_BYTES, dimid = dimID))
  call check(nf90_def_var(ncid = ncFileID, name = var1Name, xtype =
  nf90_double,     &
       dimids = (/ dimID /), varID = varID1) )
  call check(nf90_def_var(ncid = ncFileID, name = var2Name, xtype =
  nf90_double,     &
       dimids = (/ dimID /), varID = varID2) )

  call check(nf90_close(ncFileID))

Without the nf90_hdf5 flag, this code fails due to format constraints.

Furthermore, the ncdump command assures me that the output is HDF5:
bash-3.2$ ../ncdump/ncdump -k tst_flarge.nc
hdf5

You can check out the latest snapshot for yourself and try this, then link your
program in exactly the same way that the netCDF build links tst_flarge.f90. You
must build with the --enable-large-file-tests option.

Get the snapshot here:
http://www.unidata.ucar.edu/software/netcdf/builds/snapshot/index_4.html

Please wait at least a few hours - I am regenerating the netCDF-4 snapshot
now.

Please let me know if this doesn't help.

Thanks!

Ed



Ticket Details
===================
Ticket ID: YTY-788071
Department: Support netCDF
Priority: High
Status: Closed