Skip to content
Commits on Source (7)
......@@ -12,29 +12,29 @@ services:
env:
matrix:
# Ubuntu
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-fsigned-char --disable-netcdf-4 --disable-dap-remote-tests --enable-cdf5' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-signed
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-fsigned-char --disable-netcdf-4 --disable-dap-remote-tests --enable-cdf5' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-signed TESTFILTER=FALSE
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-fsigned-char --disable-netcdf-4 --disable-dap-remote-tests' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-signed
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-fsigned-char --disable-netcdf-4 --disable-dap-remote-tests' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-signed TESTFILTER=FALSE
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-funsigned-char --disable-netcdf-4 --disable-dap-remote-tests --enable-cdf5' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-unsigned
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-funsigned-char --disable-netcdf-4 --disable-dap-remote-tests --enable-cdf5' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-unsigned TESTFILTER=FALSE
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-funsigned-char --disable-netcdf-4 --disable-dap-remote-tests' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-unsigned
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-funsigned-char --disable-netcdf-4 --disable-dap-remote-tests' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-unsigned TESTFILTER=FALSE
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-fsigned-char --disable-dap-remote-tests --enable-cdf5' COPTS='-DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-signed
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-fsigned-char --disable-dap-remote-tests --enable-cdf5' COPTS='-DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-signed TESTFILTER=TRUE
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-fsigned-char --disable-dap-remote-tests' COPTS='-DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-signed
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-fsigned-char --disable-dap-remote-tests' COPTS='-DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-signed TESTFILTER=TRUE
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-funsigned-char --disable-dap-remote-tests --enable-cdf5' COPTS='-DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-unsigned
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-funsigned-char --disable-dap-remote-tests --enable-cdf5' COPTS='-DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-unsigned TESTFILTER=TRUE
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-funsigned-char --disable-dap-remote-tests' COPTS='-DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-unsigned
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-funsigned-char --disable-dap-remote-tests' COPTS='-DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-unsigned TESTFILTER=TRUE
# Centos, Fedora
- DOCKIMG=unidata/nctests:serial.centos USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='--disable-dap-remote-tests' COPTS='-DENABLE_DAP_REMOTE_TESTS=OFF' USECP=TRUE CURHOST=docker-gcc-x64-centos
- DOCKIMG=unidata/nctests:serial.fedora USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='--disable-dap-remote-tests' COPTS='-DENABLE_DAP_REMOTE_TESTS=OFF' USECP=TRUE CURHOST=docker-gcc-x64-fedora
- DOCKIMG=unidata/nctests:serial.centos USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='--disable-dap-remote-tests' COPTS='-DENABLE_DAP_REMOTE_TESTS=OFF' USECP=TRUE CURHOST=docker-gcc-x64-centos TESTFILTER=TRUE
- DOCKIMG=unidata/nctests:serial.fedora USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='--disable-dap-remote-tests' COPTS='-DENABLE_DAP_REMOTE_TESTS=OFF' USECP=TRUE CURHOST=docker-gcc-x64-fedora TESTFILTER=TRUE
before_install:
- docker pull $DOCKIMG > /dev/null
script:
- docker run --rm -it -h "$CURHOST" -e USEDASH=FALSE -e RUNF=TRUE -e RUNCXX=OFF -e RUNP=OFF -e RUNNCO=OFF -e USECMAKE=$USECMAKE -e USEAC=$USEAC -e DISTCHECK=$DISTCHECK -e COPTS="$COPTS" -e AC_OPTS="$AC_OPTS" -e CTEST_OUTPUT_ON_FAILURE=1 -v $(pwd):/netcdf-c -e USE_LOCAL_CP=$USECP -e TESTPROC=100 $DOCKIMG
- docker run --rm -it -h "$CURHOST" -e USEDASH=FALSE -e RUNF=TRUE -e RUNCXX=OFF -e RUNP=OFF -e RUNNCO=OFF -e USECMAKE=$USECMAKE -e USEAC=$USEAC -e DISTCHECK=$DISTCHECK -e COPTS="$COPTS" -e AC_OPTS="$AC_OPTS" -e CTEST_OUTPUT_ON_FAILURE=1 -v $(pwd):/netcdf-c -e USE_LOCAL_CP=$USECP -e TESTPROC=100 -e ENABLE_FILTER_TESTING=$TESTFILTER $DOCKIMG
......@@ -27,12 +27,12 @@ set(PACKAGE "netCDF" CACHE STRING "")
SET(NC_VERSION_MAJOR 4)
SET(NC_VERSION_MINOR 6)
SET(NC_VERSION_PATCH 2)
SET(NC_VERSION_NOTE "-rc1")
SET(NC_VERSION_NOTE "-rc2")
SET(netCDF_VERSION ${NC_VERSION_MAJOR}.${NC_VERSION_MINOR}.${NC_VERSION_PATCH}${NC_VERSION_NOTE})
SET(VERSION ${netCDF_VERSION})
SET(NC_VERSION ${netCDF_VERSION})
SET(netCDF_LIB_VERSION 15)
SET(netCDF_SO_VERSION 15)
SET(netCDF_LIB_VERSION 13)
SET(netCDF_SO_VERSION 13)
SET(PACKAGE_VERSION ${VERSION})
# Get system configuration, Use it to determine osname, os release, cpu. These
......@@ -523,6 +523,9 @@ ENDIF()
# Option Logging, only valid for netcdf4.
OPTION(ENABLE_LOGGING "Enable Logging." OFF)
IF(NOT ENABLE_NETCDF_4)
SET(ENABLE_LOGGING OFF)
ENDIF()
IF(ENABLE_LOGGING)
ADD_DEFINITIONS(-DLOGGING)
ADD_DEFINITIONS(-DENABLE_SET_LOG_LEVEL)
......@@ -703,22 +706,17 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4)
# Do that by checking for the targets H5Pget_fapl_mpiposx and
# H5Pget_fapl_mpio in ${HDF5_LIB}.
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5Pget_fapl_mpiposix "" HDF5_IS_PARALLEL_MPIPOSIX)
# H5Pset_fapl_mpiposix and H5Pget_fapl_mpiposix have been removed since HDF5 1.8.12.
# Use H5Pset_fapl_mpio and H5Pget_fapl_mpio, instead.
# CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5Pget_fapl_mpiposix "" HDF5_IS_PARALLEL_MPIPOSIX)
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5Pget_fapl_mpio "" HDF5_IS_PARALLEL_MPIO)
IF(HDF5_IS_PARALLEL_MPIPOSIX OR HDF5_IS_PARALLEL_MPIO)
IF(HDF5_IS_PARALLEL_MPIO)
SET(HDF5_PARALLEL ON)
ELSE()
SET(HDF5_PARALLEL OFF)
ENDIF()
IF(HDF5_IS_PARALLEL_MPIO)
SET(USE_PARALLEL_MPIO ON)
ENDIF()
IF(HDF5_IS_PARALLEL_MPIPOSIX)
SET(USE_PARALLEL_POSIX ON)
ENDIF()
#Check to see if HDF5 library has collective metadata APIs, (HDF5 >= 1.10.0)
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5Pset_all_coll_metadata_ops "" HDF5_HAS_COLL_METADATA_OPS)
ENDIF(NOT MSVC)
......@@ -1010,13 +1008,13 @@ IF(ENABLE_PARALLEL4 AND ENABLE_NETCDF_4)
ENDIF()
ENDIF()
# Options to enable parallel IO for classic formats with parallel-netcdf library.
# Options to enable parallel IO for classic formats with PnetCDF library.
SET(STATUS_PNETCDF "OFF")
OPTION(ENABLE_PNETCDF "Build with parallel I/O for classic and 64-bit offset files using parallel-netcdf." OFF)
OPTION(ENABLE_PNETCDF "Build with parallel I/O for CDF-1, 2, and 5 files using PnetCDF." OFF)
IF(ENABLE_PNETCDF)
# Check for ncmpi_create in libpnetcdf, define USE_PNETCDF
# Does the user want to turn on PNETCDF read ability?
# Does the user want to turn on PnetCDF read ability?
SET(USE_PNETCDF ON CACHE BOOL "")
FIND_LIBRARY(PNETCDF NAMES pnetcdf)
FIND_PATH(PNETCDF_INCLUDE_DIR pnetcdf.h)
......@@ -1042,7 +1040,7 @@ IF(ENABLE_PNETCDF)
SET(STATUS_PNETCDF "ON")
INCLUDE_DIRECTORIES(${PNETCDF_INCLUDE_DIR})
SET(HAVE_LIBPNETCDF ON)
# pnetcdf => parallel
# PnetCDF => parallel
SET(STATUS_PARALLEL ON)
SET(USE_PARALLEL ON)
MESSAGE(STATUS "Using PnetCDF Library: ${PNETCDF}")
......@@ -1399,23 +1397,24 @@ CHECK_FUNCTION_EXISTS(mkstemp HAVE_MKSTEMP)
CHECK_FUNCTION_EXISTS(mktemp HAVE_MKTEMP)
CHECK_FUNCTION_EXISTS(random HAVE_RANDOM)
CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY)
CHECK_FUNCTION_EXISTS(fsync HAVE_FSYNC)
CHECK_FUNCTION_EXISTS(MPI_Comm_f2c HAVE_MPI_COMM_F2C)
CHECK_FUNCTION_EXISTS(MPI_Info_f2c HAVE_MPI_INFO_F2C)
CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE)
CHECK_FUNCTION_EXISTS(getpagesize HAVE_GETPAGESIZE)
CHECK_FUNCTION_EXISTS(sysconf HAVE_SYSCONF)
CHECK_FUNCTION_EXISTS(getrlimit HAVE_GETRLIMIT)
CHECK_FUNCTION_EXISTS(_filelengthi64 HAVE_FILE_LENGTH_I64)
CHECK_FUNCTION_EXISTS(mmap HAVE_MMAP)
CHECK_FUNCTION_EXISTS(mremap HAVE_MREMAP)
IF(ENABLE_MMAP)
IF(NOT HAVE_MREMAP)
MESSAGE(WARNING "mremap not found: disabling MMAP support.")
IF(NOT HAVE_MMMAP OR NOT HAVE_MREMAP)
MESSAGE(WARNING "mmap or mremap not found: disabling MMAP support.")
SET(ENABLE_MMAP OFF)
ELSE(NOT HAVE_MREMAP)
ENDIF()
IF(ENABLE_MMAP)
SET(BUILD_MMAP ON)
SET(USE_MMAP ON)
ENDIF(NOT HAVE_MREMAP)
ENDIF(ENABLE_MMAP)
#CHECK_FUNCTION_EXISTS(alloca HAVE_ALLOCA)
......@@ -1594,7 +1593,7 @@ MACRO(print_conf_summary)
IF(${STATUS_PNETCDF} OR ${STATUS_PARALLEL})
MESSAGE("Building Parallel NetCDF")
MESSAGE(STATUS "Using pnetcdf: ${STATUS_PNETCDF}")
MESSAGE(STATUS "Using PnetCDF: ${STATUS_PNETCDF}")
MESSAGE(STATUS "Using Parallel IO: ${STATUS_PARALLEL}")
MESSAGE("")
ENDIF()
......@@ -1996,8 +1995,8 @@ ENDIF()
#####
# Build ncdap_test|dap4_test/findtestserver[4].c
#####
configure_file(${CMAKE_SOURCE_DIR}/ncdap_test/findtestserver.c.in ${CMAKE_BINARY_DIR}/ncdap_test/findtestserver.c @ONLY NEWLINE_STYLE LF)
configure_file(${CMAKE_SOURCE_DIR}/ncdap_test/findtestserver.c.in ${CMAKE_BINARY_DIR}/dap4_test/findtestserver4.c @ONLY NEWLINE_STYLE LF)
configure_file(${CMAKE_SOURCE_DIR}/ncdap_test/findtestserver.c.in ${CMAKE_SOURCE_DIR}/ncdap_test/findtestserver.c @ONLY NEWLINE_STYLE LF)
configure_file(${CMAKE_SOURCE_DIR}/ncdap_test/findtestserver.c.in ${CMAKE_SOURCE_DIR}/dap4_test/findtestserver4.c @ONLY NEWLINE_STYLE LF)
####
# Export files
......
......@@ -184,7 +184,7 @@ Building netCDF with Classic Library Only {#build_classic}
---------------------------------------
It is possible to build the netCDF C libraries and utilities so that
only the netCDF classic and 64-bit offset formats are supported, or
only the netCDF classic, 64-bit offset, and CDF-5 formats are supported, or
the remote data access client is not built. (See \ref netcdf_format)
for more information about the netCDF format variants. See the <a
href="http://opendap.org/netCDF-DAP">netCDF-DAP site</a>
......@@ -307,8 +307,8 @@ $ make check install
~~~
If parallel I/O access to netCDF classic and 64-bit offset files is
also needed, the parallel-netcdf library should also be installed.
If parallel I/O access to netCDF classic, 64-bit offset, CDF-5 files is
also needed, the PnetCDF library should also be installed.
(Note: the previously recommended <a
href=ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/pnetcdf.h>replacement
pnetcdf.h</a> should no longer be used.) Then configure netCDF with the
......@@ -358,8 +358,7 @@ Note: --disable prefix indicates that the option is normally enabled.
<tr><td>--enable-netcdf4<td>synonym for enable-netcdf-4
<tr><td>--enable-hdf4<td>build netcdf-4 with HDF4 read capability<td>HDF4, HDF5 and zlib
<tr><td>--enable-hdf4-file-tests<td>test ability to read HDF4 files<td>selected HDF4 files from Unidata ftp site
<tr><td>--enable-pnetcdf<td>build netcdf-4 with parallel I/O for classic and
64-bit offset files using parallel-netcdf
<tr><td>--enable-pnetcdf<td>build netcdf-4 with parallel I/O for classic, 64-bit offset, and CDF-5 files using PnetCDF
<tr><td>--enable-extra-example-tests<td>Run extra example tests<td>--enable-netcdf-4,GNU sed
<tr><td>--enable-parallel-tests <td>run extra parallel IO tests<td>--enable-netcdf-4, parallel IO support
<tr><td>--enable-logging<td>enable logging capability<td>--enable-netcdf-4
......
......@@ -58,7 +58,7 @@ DAP4 = libdap4
NCDAP4TESTDIR = dap4_test
endif #DAP4
# Build pnetcdf
# Build PnetCDF
if USE_PNETCDF
LIBSRCP = libsrcp
endif
......
......@@ -490,7 +490,7 @@ pkgconfig_DATA = netcdf.pc
@ENABLE_DAP4_TRUE@DAP4 = libdap4
@ENABLE_DAP4_TRUE@NCDAP4TESTDIR = dap4_test
# Build pnetcdf
# Build PnetCDF
@USE_PNETCDF_TRUE@LIBSRCP = libsrcp
# Build HDF4 if desired.
......
......@@ -7,6 +7,16 @@ This file contains a high-level description of this package's evolution. Release
## 4.6.2 - TBD
## 4.6.2-rc2 November 1, 2018
* [Enhancement] Add nccopy command options for per-variable chunk sizing, and minimum chunk size. See [GitHub #1087](https://github.com/Unidata/netcdf-c/pull/1087).
* [Bug Fix] Fix nccopy handling of user specified chunk sizes. See [GitHub #725](https://github.com/Unidata/netcdf-c/issues/725),[#1087](https://github.com/Unidata/netcdf-c/issues/1087).
* [Bug Fix] Avoid limit on number of times a netCDF4 attribute can be updated. Not a complete fix for the HDF5 "maximum creation order" problem, but should greatly reduce occurrences in many real-world cases. See [GitHub #350](https://github.com/Unidata/netcdf-c/issues/350).
* [Bug Fix] The use of NC_DISKLESS has been modified to make it cleaner. This adds a new flag called NC_PERSIST that takes over the now obsolete NC_MPIPOSIX.
* [Obsolete] Obsolete the MPIPOSIX flag.
* [Bug Fix] When using filters with HDF5 1.10.x or later, it is necessary to utilize the HDF5 replacements for malloc, realloc, and free in the filter code.
## 4.6.2-rc1 - September 19, 2018
* [Enhancement] Create a new version of _NCProperties provenance attribute. This version (version 2) supports arbitrary key-value pairs. It is the default when new files are created. Version 1 continues to be accepted.
......@@ -165,7 +175,7 @@ disbled until the testserver situation is resolved.
This cascaded into a number of other changes.
1. Renamed libsrcp5 -> libsrcp because pnetcdf can do parallel io for CDF-1, CDF-2 and CDF-5, not just CDF-5.
1. Renamed libsrcp5 -> libsrcp because PnetCDF can do parallel io for CDF-1, CDF-2 and CDF-5, not just CDF-5.
2. Given #1, then the NC_PNETCDF mode flag becomes a subset of NC_MPIIO, so made NC_PNETCDF an alias for NC_MPII.
3. NC_FORMAT_64BIT is now deprecated. Use NC_FORMAT_64BIT_OFFSET.
......@@ -281,7 +291,7 @@ Example Work Flow from netcdf-c source directory:
* Added an explicit check in the build systems (autotools, cmake) for the CURL-related option `CURLOPT_CHUNK_BGN_FUNCTION`. This option was introduced in libcurl version `7.21.0`. On installations which require libcurl and have this version, `CURLOPT_CHUNK_BGN_FUNCTION` will be available. Otherwise, it will not.
* The pnetcdf support was not properly being used to provide mpi parallel io for netcdf-3 classic files. The wrong dispatch table was being used. [NCF-319](https://bugtracking.unidata.ucar.edu/browse/NCF-319)
* The PnetCDF support was not properly being used to provide mpi parallel io for netcdf-3 classic files. The wrong dispatch table was being used. [NCF-319](https://bugtracking.unidata.ucar.edu/browse/NCF-319)
* In nccopy utility, provided proper default for unlimited dimension in chunk-size specification instead of requiring explicit chunk size. Added associated test. [NCF-321](https://bugtracking.unidata.ucar.edu/browse/NCF-321)
......@@ -609,7 +619,7 @@ subgroup getting the wrong dimension IDs for its dimensions. [NCF-247]
[NCF-247]: https://bugtracking.unidata.ucar.edu/browse/NCF-247
* Fixed bug with incorrect fixed-size variable offsets in header getting
written when schema changed for files created by parallel-netcdf. Thanks
written when schema changed for files created by PnetCDF Thanks
to Wei-keng Liao for developing and contributing the fix. [NCF-234]
[NCF-234]: https://bugtracking.unidata.ucar.edu/browse/NCF-234
......@@ -647,7 +657,7 @@ options for specifying which groups or variables are to be copied.
[NCF-216]: https://bugtracking.unidata.ucar.edu/browse/NCF-216
* Merged in parallel-netcdf bugs fixes from Greg Sjaardema. [NCF-214]
* Merged in PnetCDF bugs fixes from Greg Sjaardema. [NCF-214]
[NCF-214]: https://bugtracking.unidata.ucar.edu/browse/NCF-214
......@@ -1190,7 +1200,7 @@ definitions in the DAS, but they will be ignored.
* Many documentation fixes.
* Added capability to use the parallel-netcdf (a.k.a. pnetcdf) library to
* Added capability to use the PnetCDF library to
perform parallel I/O on classic and 32-bit offset files. Use the
NC\_PNETCDF mode flag to get parallel I/O for non-netcdf-4 files.
......
......@@ -526,12 +526,6 @@ are set when opening a binary file on Windows. */
/* if true, parallel netcdf-4 is in use */
#cmakedefine USE_PARALLEL4 1
/* if true, compile in parallel netCDF-4 based on MPI/IO */
#cmakedefine USE_PARALLEL_MPIO 1
/* if true, compile in parallel netCDF-4 based on MPI/POSIX */
#cmakedefine USE_PARALLEL_POSIX 1
/* if true, parallel netCDF is used */
#cmakedefine USE_PNETCDF 1
......
......@@ -120,9 +120,6 @@
/* Define to 1 if you have the `H5Pget_fapl_mpio' function. */
#undef HAVE_H5PGET_FAPL_MPIO
/* Define to 1 if you have the `H5Pget_fapl_mpiposix' function. */
#undef HAVE_H5PGET_FAPL_MPIPOSIX
/* Define to 1 if you have the `H5Pset_all_coll_metadata_ops' function. */
#undef HAVE_H5PSET_ALL_COLL_METADATA_OPS
......@@ -189,9 +186,15 @@
/* Define to 1 if you have the `mktemp' function. */
#undef HAVE_MKTEMP
/* Define to 1 if you have the `mmap' function. */
#undef HAVE_MMAP
/* Define to 1 if you have the `MPI_Comm_f2c' function. */
#undef HAVE_MPI_COMM_F2C
/* Define to 1 if you have the `MPI_Info_f2c' function. */
#undef HAVE_MPI_INFO_F2C
/* Define to 1 if you have the `mremap' function. */
#undef HAVE_MREMAP
......@@ -461,19 +464,13 @@
/* build the netCDF version 2 API */
#undef USE_NETCDF_2
/* if true, pnetcdf or parallel netcdf-4 is in use */
/* if true, PnetCDF or parallel netcdf-4 is in use */
#undef USE_PARALLEL
/* if true, parallel netcdf-4 is in use */
#undef USE_PARALLEL4
/* if true, compile in parallel netCDF-4 based on MPI/IO */
#undef USE_PARALLEL_MPIO
/* if true, compile in parallel netCDF-4 based on MPI/POSIX */
#undef USE_PARALLEL_POSIX
/* if true, parallel netCDF is used */
/* if true, PnetCDF is used */
#undef USE_PNETCDF
/* if true, use stdio instead of posixio */
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for netCDF 4.6.2-rc1.
# Generated by GNU Autoconf 2.69 for netCDF 4.6.2-rc2.
#
# Report bugs to <support-netcdf@unidata.ucar.edu>.
#
......@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='netCDF'
PACKAGE_TARNAME='netcdf'
PACKAGE_VERSION='4.6.2-rc1'
PACKAGE_STRING='netCDF 4.6.2-rc1'
PACKAGE_VERSION='4.6.2-rc2'
PACKAGE_STRING='netCDF 4.6.2-rc2'
PACKAGE_BUGREPORT='support-netcdf@unidata.ucar.edu'
PACKAGE_URL=''
 
......@@ -820,6 +820,8 @@ SHOW_DOXYGEN_TAG_LIST_FALSE
SHOW_DOXYGEN_TAG_LIST_TRUE
BUILD_DOCS_FALSE
BUILD_DOCS_TRUE
ENABLE_VALGRIND_FALSE
ENABLE_VALGRIND_TRUE
VALGRIND_CHECK_RULES
valgrind_enabled_tools
valgrind_tools
......@@ -1544,7 +1546,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures netCDF 4.6.2-rc1 to adapt to many kinds of systems.
\`configure' configures netCDF 4.6.2-rc2 to adapt to many kinds of systems.
 
Usage: $0 [OPTION]... [VAR=VALUE]...
 
......@@ -1615,7 +1617,7 @@ fi
 
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of netCDF 4.6.2-rc1:";;
short | recursive ) echo "Configuration of netCDF 4.6.2-rc2:";;
esac
cat <<\_ACEOF
 
......@@ -1717,10 +1719,11 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--disable-largefile omit support for large files
--enable-mmap allow mmap for in-memory files
--disable-cdf5 build without CDF5 support.
--disable-cdf5 build without CDF5 support. [default: auto]
--disable-parallel4 disable parallel I/O for netcdf-4, even if it's
enabled in libhdf5
--enable-pnetcdf build with parallel I/O for classic files
--enable-pnetcdf build with parallel I/O for classic files. [default:
disabled]
--enable-erange-fill Enable use of fill value when out-of-range type
conversion causes NC_ERANGE error. [default:
disabled]
......@@ -1868,7 +1871,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
netCDF configure 4.6.2-rc1
netCDF configure 4.6.2-rc2
generated by GNU Autoconf 2.69
 
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -2577,7 +2580,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
 
It was created by netCDF $as_me 4.6.2-rc1, which was
It was created by netCDF $as_me 4.6.2-rc2, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
$ $0 $@
......@@ -2936,7 +2939,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
NC_VERSION_MAJOR=4
NC_VERSION_MINOR=6
NC_VERSION_PATCH=2
NC_VERSION_NOTE="-rc1"
NC_VERSION_NOTE="-rc2"
 
#####
# Set some variables used to generate a libnetcdf.settings file,
......@@ -2945,11 +2948,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
# Create the VERSION file, which contains the package version from
# AC_INIT.
echo 4.6.2-rc1>VERSION
echo 4.6.2-rc2>VERSION
 
 
{ $as_echo "$as_me:${as_lineno-$LINENO}: netCDF 4.6.2-rc1" >&5
$as_echo "$as_me: netCDF 4.6.2-rc1" >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: netCDF 4.6.2-rc2" >&5
$as_echo "$as_me: netCDF 4.6.2-rc2" >&6;}
 
# Keep libtool macros in an m4 directory.
 
......@@ -3613,7 +3616,7 @@ fi
 
# Define the identity of the package.
PACKAGE='netcdf'
VERSION='4.6.2-rc1'
VERSION='4.6.2-rc2'
 
 
cat >>confdefs.h <<_ACEOF
......@@ -4163,6 +4166,14 @@ MOSTLYCLEANFILES += $(valgrind_log_files)
 
 
 
if test "x$VALGRIND_ENABLED" = xyes; then
ENABLE_VALGRIND_TRUE=
ENABLE_VALGRIND_FALSE='#'
else
ENABLE_VALGRIND_TRUE='#'
ENABLE_VALGRIND_FALSE=
fi
 
###
# Doxygen and doxygen-related options.
......@@ -5699,6 +5710,7 @@ if test $require_curl = yes ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: libcurl not found; disabling remote protocol(s) support" >&5
$as_echo "$as_me: libcurl not found; disabling remote protocol(s) support" >&6;}
enable_dap=no
enable_dap4=no
elif test $found_curl = yes ; then
# Redo the check lib to actually add -lcurl
#AC_CHECK_LIB([curl], [curl_easy_setopt])
......@@ -16061,7 +16073,7 @@ done
for ac_func in strlcat snprintf \
strdup strtoll strtoull \
mkstemp mktemp random \
getrlimit gettimeofday fsync MPI_Comm_f2c
getrlimit gettimeofday fsync MPI_Comm_f2c MPI_Info_f2c
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
......@@ -16114,6 +16126,19 @@ test "x$enable_mmap" = xyes || enable_mmap=no
$as_echo "$enable_mmap" >&6; }
 
# check for mmap and mremap availability before committing to use mmap
for ac_func in mmap
do :
ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
if test "x$ac_cv_func_mmap" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_MMAP 1
_ACEOF
have_mmap=yes
else
have_mmap=no
fi
done
for ac_func in mremap
do :
ac_fn_c_check_func "$LINENO" "mremap" "ac_cv_func_mremap"
......@@ -16121,13 +16146,19 @@ if test "x$ac_cv_func_mremap" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_MREMAP 1
_ACEOF
have_mremap=yes
else
have_mremap=no
fi
done
 
 
if test "x$ac_cv_func_mmap_fixed_mapped" != xyes -o "x$ac_cv_func_mremap" != xyes ; then
echo "mmap function or mremap function is not available: disabling mmap"
if test "x$have_mmap" != xyes ; then
echo "mmap function is not available: disabling mmap"
enable_mmap=no
fi
if test "x$have_mremap" != xyes ; then
echo "mremap function is not available: disabling mmap"
enable_mmap=no
fi
 
......@@ -17882,7 +17913,9 @@ done
 
hdf5_parallel=no
 
for ac_func in H5Pget_fapl_mpiposix H5Pget_fapl_mpio H5Pset_deflate H5Z_SZIP H5free_memory H5Pset_libver_bounds H5Pset_all_coll_metadata_ops
# H5Pset_fapl_mpiposix and H5Pget_fapl_mpiposix have been removed since HDF5 1.8.12.
# Use H5Pset_fapl_mpio and H5Pget_fapl_mpio, instead.
for ac_func in H5Pget_fapl_mpio H5Pset_deflate H5Z_SZIP H5free_memory H5Pset_libver_bounds H5Pset_all_coll_metadata_ops
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
......@@ -17895,18 +17928,14 @@ fi
done
 
# The user may have parallel HDF5 based on MPI POSIX.
if test "x$ac_cv_func_H5Pget_fapl_mpiposix" = xyes; then
$as_echo "#define USE_PARALLEL_POSIX 1" >>confdefs.h
fi
# if test "x$ac_cv_func_H5Pget_fapl_mpiposix" = xyes; then
# AC_DEFINE([USE_PARALLEL_POSIX], [1], [if true, compile in parallel netCDF-4 based on MPI/POSIX])
# fi
 
# The user may have parallel HDF5 based on MPI mumble mumble.
if test "x$ac_cv_func_H5Pget_fapl_mpio" = xyes; then
$as_echo "#define USE_PARALLEL_MPIO 1" >>confdefs.h
fi
# if test "x$ac_cv_func_H5Pget_fapl_mpio" = xyes; then
# AC_DEFINE([USE_PARALLEL_MPIO], [1], [if true, compile in parallel netCDF-4 based on MPI/IO])
# fi
 
# Check to see if HDF5 library has collective metadata APIs, (HDF5 >= 1.10.0)
if test "x$ac_cv_func_H5Pset_all_coll_metadata_ops" = xyes; then
......@@ -18015,6 +18044,53 @@ $as_echo "#define HDF5_HAS_LIBVER_BOUNDS 1" >>confdefs.h
 
# If the user wants hdf4 built in, check it out.
if test "x$enable_hdf4" = xyes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeg_CreateCompress in -ljpeg" >&5
$as_echo_n "checking for jpeg_CreateCompress in -ljpeg... " >&6; }
if ${ac_cv_lib_jpeg_jpeg_CreateCompress+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ljpeg $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char jpeg_CreateCompress ();
int
main ()
{
return jpeg_CreateCompress ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_jpeg_jpeg_CreateCompress=yes
else
ac_cv_lib_jpeg_jpeg_CreateCompress=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jpeg_CreateCompress" >&5
$as_echo "$ac_cv_lib_jpeg_jpeg_CreateCompress" >&6; }
if test "x$ac_cv_lib_jpeg_jpeg_CreateCompress" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBJPEG 1
_ACEOF
LIBS="-ljpeg $LIBS"
else
as_fn_error $? "Jpeg library required for --enable-hdf4 builds." "$LINENO" 5
fi
for ac_header in mfhdf.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "mfhdf.h" "ac_cv_header_mfhdf_h" "$ac_includes_default"
......@@ -18079,6 +18155,46 @@ else
as_fn_error $? "Can't find or link to the hdf4 df library. See config.log for errors." "$LINENO" 5
fi
 
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for NC_arrayfill in -lmfhdf" >&5
$as_echo_n "checking for NC_arrayfill in -lmfhdf... " >&6; }
if ${ac_cv_lib_mfhdf_NC_arrayfill+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lmfhdf $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char NC_arrayfill ();
int
main ()
{
return NC_arrayfill ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_mfhdf_NC_arrayfill=yes
else
ac_cv_lib_mfhdf_NC_arrayfill=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mfhdf_NC_arrayfill" >&5
$as_echo "$ac_cv_lib_mfhdf_NC_arrayfill" >&6; }
if test "x$ac_cv_lib_mfhdf_NC_arrayfill" = xyes; then :
as_fn_error $? "HDF4 library must be built with --disable-netcdf." "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDcreate in -lmfhdf" >&5
$as_echo_n "checking for SDcreate in -lmfhdf... " >&6; }
if ${ac_cv_lib_mfhdf_SDcreate+:} false; then :
......@@ -18181,7 +18297,7 @@ $as_echo "#define USE_HDF4 1" >>confdefs.h
fi
 
# There are several cases for parallelism:
# 1. pnetcdf enabled => we want to parallelism for CDF-1,CDF-2,and CDF-5
# 1. PnetCDF enabled => we want to parallelism for CDF-1,CDF-2,and CDF-5
# 2. hdf5 has mpio enabled
# a. do not want to use it for netcdf4
# b. do want to use it for netcdf4
......@@ -18217,8 +18333,7 @@ else
fi
 
# We have already tested for parallel io in netcdf4
# Now do it for netcdf-3
# Does the user want parallel I/O for classic and 64-bit offset files using parallel-netcdf (pnetcdf)?
# parallel I/O for CDF-1, 2, and 5 files can also be done through PnetCDF
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether parallel I/O for classic files is to be enabled" >&5
$as_echo_n "checking whether parallel I/O for classic files is to be enabled... " >&6; }
# Check whether --enable-pnetcdf was given.
......@@ -18230,7 +18345,7 @@ test "x$enable_pnetcdf" = xyes || enable_pnetcdf=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_pnetcdf" >&5
$as_echo "$enable_pnetcdf" >&6; }
 
# See if the pnetcdf lib is available and of the
# See if the PnetCDF lib is available and of the
# right version (1.6.0 or later)
if test "x$enable_pnetcdf" = xyes; then
pnetcdf_conflict=no
......@@ -18283,7 +18398,7 @@ fi
 
 
if test "x$pnetcdf_conflict" = xyes ; then
as_fn_error $? "Cannot link to pnetcdf library." "$LINENO" 5
as_fn_error $? "Cannot link to PnetCDF library." "$LINENO" 5
fi
 
# Pnetcdf did not support utf-8 until 1.6.0
......@@ -18319,13 +18434,12 @@ $as_echo "$pnetcdf16" >&6; }
fi
fi
 
# Now, set enable_parallel if either pnetcdf or parallel4 is set
# Now, set enable_parallel if either enable_pnetcdf or enable_parallel4 is set
if test "x$enable_pnetcdf" = xyes -o "x$enable_parallel4" = xyes; then
enable_parallel=yes
else
enable_parallel=no
fi
if test x$enable_parallel = xyes ; then
ENABLE_PARALLEL_TRUE=
ENABLE_PARALLEL_FALSE='#'
......@@ -19435,6 +19549,10 @@ if test -z "${VALGRIND_ENABLED_TRUE}" && test -z "${VALGRIND_ENABLED_FALSE}"; th
as_fn_error $? "conditional \"VALGRIND_ENABLED\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${ENABLE_VALGRIND_TRUE}" && test -z "${ENABLE_VALGRIND_FALSE}"; then
as_fn_error $? "conditional \"ENABLE_VALGRIND\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${BUILD_DOCS_TRUE}" && test -z "${BUILD_DOCS_FALSE}"; then
as_fn_error $? "conditional \"BUILD_DOCS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
......@@ -20029,7 +20147,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by netCDF $as_me 4.6.2-rc1, which was
This file was extended by netCDF $as_me 4.6.2-rc2, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
CONFIG_FILES = $CONFIG_FILES
......@@ -20099,7 +20217,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
netCDF config.status 4.6.2-rc1
netCDF config.status 4.6.2-rc2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
 
......
......@@ -13,7 +13,7 @@
AC_PREREQ([2.59])
# Initialize with name, version, and support email address.
AC_INIT([netCDF], [4.6.2-rc1], [support-netcdf@unidata.ucar.edu])
AC_INIT([netCDF], [4.6.2-rc2], [support-netcdf@unidata.ucar.edu])
##
# Prefer an empty CFLAGS variable instead of the default -g -O2.
......@@ -25,7 +25,7 @@ AC_INIT([netCDF], [4.6.2-rc1], [support-netcdf@unidata.ucar.edu])
AC_SUBST([NC_VERSION_MAJOR]) NC_VERSION_MAJOR=4
AC_SUBST([NC_VERSION_MINOR]) NC_VERSION_MINOR=6
AC_SUBST([NC_VERSION_PATCH]) NC_VERSION_PATCH=2
AC_SUBST([NC_VERSION_NOTE]) NC_VERSION_NOTE="-rc1"
AC_SUBST([NC_VERSION_NOTE]) NC_VERSION_NOTE="-rc2"
#####
# Set some variables used to generate a libnetcdf.settings file,
......@@ -92,6 +92,7 @@ AC_DEFINE_UNQUOTED([NCIO_MINBLOCKSIZE], [$NCIO_MINBLOCKSIZE], [min blocksize for
# Find valgrind, if available, and add targets for it.
AX_VALGRIND_DFLT([sgcheck], [off])
AX_VALGRIND_CHECK
AM_CONDITIONAL(ENABLE_VALGRIND, [test "x$VALGRIND_ENABLED" = xyes])
###
# Doxygen and doxygen-related options.
......@@ -369,6 +370,7 @@ if test $require_curl = yes ; then
if test $found_curl = no ; then
AC_MSG_NOTICE([libcurl not found; disabling remote protocol(s) support])
enable_dap=no
enable_dap4=no
elif test $found_curl = yes ; then
# Redo the check lib to actually add -lcurl
#AC_CHECK_LIB([curl], [curl_easy_setopt])
......@@ -864,7 +866,7 @@ AC_CHECK_HEADERS([ftw.h])
AC_CHECK_FUNCS([strlcat snprintf \
strdup strtoll strtoull \
mkstemp mktemp random \
getrlimit gettimeofday fsync MPI_Comm_f2c])
getrlimit gettimeofday fsync MPI_Comm_f2c MPI_Info_f2c])
# disable dap4 if netcdf-4 is disabled
if test "x$enable_netcdf_4" = "xno" ; then
......@@ -888,10 +890,15 @@ test "x$enable_mmap" = xyes || enable_mmap=no
AC_MSG_RESULT($enable_mmap)
# check for mmap and mremap availability before committing to use mmap
AC_CHECK_FUNCS([mremap])
AC_CHECK_FUNCS([mmap],[have_mmap=yes],[have_mmap=no])
AC_CHECK_FUNCS([mremap],[have_mremap=yes],[have_mremap=no])
if test "x$ac_cv_func_mmap_fixed_mapped" != xyes -o "x$ac_cv_func_mremap" != xyes ; then
echo "mmap function or mremap function is not available: disabling mmap"
if test "x$have_mmap" != xyes ; then
echo "mmap function is not available: disabling mmap"
enable_mmap=no
fi
if test "x$have_mremap" != xyes ; then
echo "mremap function is not available: disabling mmap"
enable_mmap=no
fi
......@@ -945,7 +952,7 @@ AC_CHECK_SIZEOF(unsigned long long)
AC_MSG_CHECKING([whether CDF5 support should be disabled])
AC_ARG_ENABLE([cdf5],
[AS_HELP_STRING([--disable-cdf5],
[build without CDF5 support.])],
[build without CDF5 support. @<:@default: auto@:>@])],
[enable_cdf5=${enableval}], [enable_cdf5=auto]
)
if test "$ac_cv_sizeof_size_t" -lt "8" ; then
......@@ -1030,16 +1037,18 @@ if test "x$enable_netcdf_4" = xyes; then
AC_CHECK_FUNCS([H5Z_SZIP])
hdf5_parallel=no
AC_CHECK_FUNCS([H5Pget_fapl_mpiposix H5Pget_fapl_mpio H5Pset_deflate H5Z_SZIP H5free_memory H5Pset_libver_bounds H5Pset_all_coll_metadata_ops])
# H5Pset_fapl_mpiposix and H5Pget_fapl_mpiposix have been removed since HDF5 1.8.12.
# Use H5Pset_fapl_mpio and H5Pget_fapl_mpio, instead.
AC_CHECK_FUNCS([H5Pget_fapl_mpio H5Pset_deflate H5Z_SZIP H5free_memory H5Pset_libver_bounds H5Pset_all_coll_metadata_ops])
# The user may have parallel HDF5 based on MPI POSIX.
if test "x$ac_cv_func_H5Pget_fapl_mpiposix" = xyes; then
AC_DEFINE([USE_PARALLEL_POSIX], [1], [if true, compile in parallel netCDF-4 based on MPI/POSIX])
fi
# if test "x$ac_cv_func_H5Pget_fapl_mpiposix" = xyes; then
# AC_DEFINE([USE_PARALLEL_POSIX], [1], [if true, compile in parallel netCDF-4 based on MPI/POSIX])
# fi
# The user may have parallel HDF5 based on MPI mumble mumble.
if test "x$ac_cv_func_H5Pget_fapl_mpio" = xyes; then
AC_DEFINE([USE_PARALLEL_MPIO], [1], [if true, compile in parallel netCDF-4 based on MPI/IO])
fi
# if test "x$ac_cv_func_H5Pget_fapl_mpio" = xyes; then
# AC_DEFINE([USE_PARALLEL_MPIO], [1], [if true, compile in parallel netCDF-4 based on MPI/IO])
# fi
# Check to see if HDF5 library has collective metadata APIs, (HDF5 >= 1.10.0)
if test "x$ac_cv_func_H5Pset_all_coll_metadata_ops" = xyes; then
......@@ -1083,11 +1092,14 @@ if test "x$enable_netcdf_4" = xyes; then
# If the user wants hdf4 built in, check it out.
if test "x$enable_hdf4" = xyes; then
AC_CHECK_LIB([jpeg], [jpeg_CreateCompress], [],
[AC_MSG_ERROR([Jpeg library required for --enable-hdf4 builds.])])
AC_CHECK_HEADERS([mfhdf.h], [], [nc_mfhdf_h_missing=yes])
if test "x$nc_mfhdf_h_missing" = xyes; then
AC_MSG_ERROR([Cannot find mfhdf.h, yet --enable-hdf4 was used.])
fi
AC_CHECK_LIB([df], [Hclose], [], [AC_MSG_ERROR([Can't find or link to the hdf4 df library. See config.log for errors.])])
AC_CHECK_LIB([mfhdf], [NC_arrayfill], [AC_MSG_ERROR([HDF4 library must be built with --disable-netcdf.])], [])
AC_CHECK_LIB([mfhdf], [SDcreate], [], [AC_MSG_ERROR([Can't find or link to the hdf4 mfhdf library. See config.log for errors.])])
AC_CHECK_LIB([jpeg], [jpeg_set_quality], [], [AC_MSG_ERROR([Can't find or link to the jpeg library (required by hdf4). See config.log for errors.])])
......@@ -1096,7 +1108,7 @@ if test "x$enable_netcdf_4" = xyes; then
fi
# There are several cases for parallelism:
# 1. pnetcdf enabled => we want to parallelism for CDF-1,CDF-2,and CDF-5
# 1. PnetCDF enabled => we want to parallelism for CDF-1,CDF-2,and CDF-5
# 2. hdf5 has mpio enabled
# a. do not want to use it for netcdf4
# b. do want to use it for netcdf4
......@@ -1128,22 +1140,21 @@ else
fi
# We have already tested for parallel io in netcdf4
# Now do it for netcdf-3
# Does the user want parallel I/O for classic and 64-bit offset files using parallel-netcdf (pnetcdf)?
# parallel I/O for CDF-1, 2, and 5 files can also be done through PnetCDF
AC_MSG_CHECKING([whether parallel I/O for classic files is to be enabled])
AC_ARG_ENABLE([pnetcdf], [AS_HELP_STRING([--enable-pnetcdf],
[build with parallel I/O for classic files])])
[build with parallel I/O for classic files. @<:@default: disabled@:>@])])
test "x$enable_pnetcdf" = xyes || enable_pnetcdf=no
AC_MSG_RESULT($enable_pnetcdf)
# See if the pnetcdf lib is available and of the
# See if the PnetCDF lib is available and of the
# right version (1.6.0 or later)
if test "x$enable_pnetcdf" = xyes; then
pnetcdf_conflict=no
AC_CHECK_LIB([pnetcdf], [ncmpi_create], [],[pnetcdf_conflict=yes])
if test "x$pnetcdf_conflict" = xyes ; then
AC_MSG_ERROR([Cannot link to pnetcdf library.])
AC_MSG_ERROR([Cannot link to PnetCDF library.])
fi
# Pnetcdf did not support utf-8 until 1.6.0
......@@ -1161,13 +1172,12 @@ if test "x$enable_pnetcdf" = xyes; then
fi
fi
# Now, set enable_parallel if either pnetcdf or parallel4 is set
# Now, set enable_parallel if either enable_pnetcdf or enable_parallel4 is set
if test "x$enable_pnetcdf" = xyes -o "x$enable_parallel4" = xyes; then
enable_parallel=yes
else
enable_parallel=no
fi
AM_CONDITIONAL(ENABLE_PARALLEL, [test x$enable_parallel = xyes ])
if test "x$hdf5_parallel" = xyes; then
......@@ -1182,12 +1192,12 @@ if test "x$enable_parallel4" = xyes; then
fi
if test "x$enable_pnetcdf" = xyes; then
AC_DEFINE([USE_PNETCDF], [1], [if true, parallel netCDF is used])
AC_DEFINE([USE_PNETCDF], [1], [if true, PnetCDF is used])
fi
# If enable_parallel is in use, enable it in the C code. Also add some stuff to netcdf.h.
if test "x$enable_parallel" = xyes; then
AC_DEFINE([USE_PARALLEL], [1], [if true, pnetcdf or parallel netcdf-4 is in use])
AC_DEFINE([USE_PARALLEL], [1], [if true, PnetCDF or parallel netcdf-4 is in use])
fi
AC_ARG_ENABLE([erange_fill],
......
......@@ -9,6 +9,7 @@ ADD_SUBDIRECTORY(cdltestfiles)
ADD_SUBDIRECTORY(daptestfiles)
ADD_SUBDIRECTORY(dmrtestfiles)
ADD_SUBDIRECTORY(nctestfiles)
ADD_SUBDIRECTORY(misctestfiles)
FILE(GLOB COPY_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.sh)
......
......@@ -35,6 +35,7 @@ if BUILD_UTILITIES
TESTS += test_raw.sh
TESTS += test_meta.sh
TESTS += test_data.sh
TESTS += test_fillmismatch.sh
endif
# Note which tests depend on other tests. Necessary for make -j check.
......@@ -56,9 +57,9 @@ endif
endif #ENABLE_DAP4
EXTRA_DIST = test_parse.sh test_meta.sh test_data.sh \
test_raw.sh test_remote.sh test_hyrax.sh \
test_raw.sh test_remote.sh test_hyrax.sh test_fillmismatch.sh \
tst_curlopt.sh d4test_common.sh \
daptestfiles dmrtestfiles cdltestfiles nctestfiles \
daptestfiles dmrtestfiles cdltestfiles nctestfiles misctestfiles \
baseline baselineraw baselineremote CMakeLists.txt
CLEANFILES = *.exe
......
......@@ -111,7 +111,8 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
# These rely on ncdump
@BUILD_UTILITIES_TRUE@@ENABLE_DAP4_TRUE@am__append_4 = test_raw.sh \
@BUILD_UTILITIES_TRUE@@ENABLE_DAP4_TRUE@ test_meta.sh \
@BUILD_UTILITIES_TRUE@@ENABLE_DAP4_TRUE@ test_data.sh
@BUILD_UTILITIES_TRUE@@ENABLE_DAP4_TRUE@ test_data.sh \
@BUILD_UTILITIES_TRUE@@ENABLE_DAP4_TRUE@ test_fillmismatch.sh
# Note: This program name was changed to findtestserver4
# to avoid cmake complaint about duplicate targets.
......@@ -648,9 +649,9 @@ TESTS = $(am__append_3) $(am__append_4) $(am__append_6)
@ENABLE_DAP4_TRUE@test_data_SOURCES = test_data.c test_common.h
@ENABLE_DAP4_TRUE@@ENABLE_DAP_REMOTE_TESTS_TRUE@findtestserver4_SOURCES = findtestserver4.c
EXTRA_DIST = test_parse.sh test_meta.sh test_data.sh \
test_raw.sh test_remote.sh test_hyrax.sh \
test_raw.sh test_remote.sh test_hyrax.sh test_fillmismatch.sh \
tst_curlopt.sh d4test_common.sh \
daptestfiles dmrtestfiles cdltestfiles nctestfiles \
daptestfiles dmrtestfiles cdltestfiles nctestfiles misctestfiles \
baseline baselineraw baselineremote CMakeLists.txt
# This should only be left behind if using parallel io
......@@ -995,6 +996,13 @@ test_data.sh.log: test_data.sh
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
test_fillmismatch.sh.log: test_fillmismatch.sh
@p='test_fillmismatch.sh'; \
b='test_fillmismatch.sh'; \
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
test_remote.sh.log: test_remote.sh
@p='test_remote.sh'; \
b='test_remote.sh'; \
......
netcdf test_atomic_array.5.nc {
types:
ubyte(*) _bytestring ;
opaque(16) opaque16_t ;
dimensions:
_Anonymous1 = 1 ;
_Anonymous2 = 2 ;
......@@ -8,7 +8,7 @@ variables:
ubyte vu8(_Anonymous1, _Anonymous2) ;
double vd(_Anonymous1) ;
string vs(_Anonymous1, _Anonymous1) ;
_bytestring vo(_Anonymous1, _Anonymous1) ;
opaque16_t vo(_Anonymous1, _Anonymous1) ;
// global attributes:
string :_dap4.ce = "/vu8[1][0:2:2];/vd[1];/vs[1][0];/vo[0][1]" ;
......@@ -24,5 +24,6 @@ data:
"Καλημέα" ;
vo =
{171, 205, 239, 0, 0, 0, 0, 0} ;
0XABCDEF00000000000000000000000000 ;
}
......@@ -4,7 +4,7 @@ types:
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
Missing = 127} ;
ubyte(*) _bytestring ;
opaque(16) opaque16_t ;
dimensions:
d1 = 1 ;
d2 = 2 ;
......@@ -18,7 +18,7 @@ variables:
double vd(d2) ;
char vc(d2) ;
string vs(d2, d2) ;
_bytestring vo(d1, d2) ;
opaque16_t vo(d1, d2) ;
cloud_class_t primary_cloud(d5) ;
cloud_class_t primary_cloud:_FillValue = Missing ;
......@@ -45,7 +45,7 @@ data:
"Καλημέα", "abc" ;
vo =
{1, 35, 69, 103, 137, 171, 205, 239}, {171, 205, 239, 0, 0, 0, 0, 0} ;
0X0123456789ABCDEF0000000000000000, 0XABCDEF00000000000000000000000000 ;
primary_cloud = Clear, Stratus, Clear, Cumulonimbus, _ ;
}
......@@ -4,7 +4,7 @@ types:
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
Missing = 127} ;
ubyte(*) _bytestring ;
opaque(16) opaque16_t ;
dimensions:
d1 = 1 ;
d2 = 2 ;
......@@ -18,7 +18,7 @@ variables:
double vd(d2) ;
char vc(d2) ;
string vs(d2, d2) ;
_bytestring vo(d1, d2) ;
opaque16_t vo(d1, d2) ;
cloud_class_t primary_cloud(d5) ;
cloud_class_t primary_cloud:_FillValue = Missing ;
......@@ -46,8 +46,7 @@ data:
vo =
{162, 23, 122, 167, 40, 124, 4, 250, 139, 181, 123, 205, 247, 110, 200, 15},
{52, 250, 71, 42, 169, 64, 77, 213, 67, 20, 60, 173, 237, 48, 58, 117} ;
0XA2177AA7287C04FA8BB57BCDF76EC80F, 0X34FA472AA9404DD543143CADED303A75 ;
primary_cloud = Stratus, Cirrocumulus, Nimbostratus, Cirrostratus,
Stratocumulus ;
......
......@@ -4,7 +4,7 @@ types:
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
Missing = 127} ;
ubyte(*) _bytestring ;
opaque(16) opaque16_t ;
dimensions:
d1 = 1 ;
d2 = 2 ;
......@@ -18,7 +18,7 @@ variables:
double vd(d2) ;
char vc(d2) ;
string vs(d2, d2) ;
_bytestring vo(d1, d2) ;
opaque16_t vo(d1, d2) ;
cloud_class_t primary_cloud(d5) ;
cloud_class_t primary_cloud:_FillValue = Missing ;
......
......@@ -26,7 +26,6 @@
<EnumConst name="Cirrus" value="10"/>
<EnumConst name="Missing" value="127"/>
</Enumeration>
<Opaque name="_bytestring"/>
</Types>
<Variables>
<UInt8 name="vu8">
......@@ -50,7 +49,7 @@
<Dim name="/d2"/>
<Dim name="/d2"/>
</String>
<Opaque name="vo" type="/_bytestring">
<Opaque name="vo" type="/opaque16_t">
<Dim name="/d1"/>
<Dim name="/d2"/>
</Opaque>
......
......@@ -4,7 +4,7 @@ types:
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
Missing = 127} ;
ubyte(*) _bytestring ;
opaque(16) opaque16_t ;
variables:
byte v8 ;
ubyte vu8 ;
......@@ -18,7 +18,7 @@ variables:
double vd ;
char vc ;
string vs ;
_bytestring vo ;
opaque16_t vo ;
cloud_class_t primary_cloud ;
cloud_class_t primary_cloud:_FillValue = Missing ;
cloud_class_t secondary_cloud ;
......@@ -52,7 +52,7 @@ data:
vs = "hello\tworld" ;
vo = {1, 35, 69, 103, 137, 171, 205, 239} ;
vo = 0X0123456789ABCDEF0000000000000000 ;
primary_cloud = Stratus ;
......
......@@ -4,7 +4,7 @@ types:
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
Missing = 127} ;
ubyte(*) _bytestring ;
opaque(16) opaque16_t ;
variables:
byte v8 ;
ubyte vu8 ;
......@@ -18,7 +18,7 @@ variables:
double vd ;
char vc ;
string vs ;
_bytestring vo ;
opaque16_t vo ;
cloud_class_t primary_cloud ;
cloud_class_t primary_cloud:_FillValue = Missing ;
cloud_class_t secondary_cloud ;
......@@ -52,8 +52,7 @@ data:
vs = "O,L?c8A%V" ;
vo =
{70, 241, 105, 239, 35, 203, 175, 155, 31, 235, 217, 158, 78, 22, 206, 201} ;
vo = 0X46F169EF23CBAF9B1FEBD99E4E16CEC9 ;
primary_cloud = Altocumulus ;
......