mirror of
https://github.com/Unidata/netcdf-c.git
synced 2025-03-25 17:40:27 +08:00
Merge branch 'main' into patch-2
This commit is contained in:
commit
dd75fa343c
11
.github/workflows/run_tests_osx.yml
vendored
11
.github/workflows/run_tests_osx.yml
vendored
@ -17,7 +17,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.12.2 ]
|
||||
hdf5: [ 1.12.2, 1.14.0 ]
|
||||
|
||||
steps:
|
||||
|
||||
@ -54,8 +54,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.12.2 ]
|
||||
#hdf5: [ 1.8.21, 1.10.1, 1.10.7, 1.12.2 ]
|
||||
hdf5: [ 1.12.2, 1.14.0 ]
|
||||
use_nc4: [ nc3, nc4 ]
|
||||
use_dap: [ dap_off, dap_on ]
|
||||
use_nczarr: [ nczarr_off, nczarr_on ]
|
||||
@ -161,7 +160,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.12.2 ]
|
||||
hdf5: [ 1.12.2, 1.14.0 ]
|
||||
use_nc4: [ nc3, nc4 ]
|
||||
use_dap: [ dap_off, dap_on ]
|
||||
use_nczarr: [ nczarr_off, nczarr_on ]
|
||||
@ -257,7 +256,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.12.2 ]
|
||||
hdf5: [ 1.12.2, 1.14.0 ]
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
@ -338,7 +337,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.12.2 ]
|
||||
hdf5: [ 1.12.2, 1.14.0 ]
|
||||
|
||||
steps:
|
||||
|
||||
|
153
.github/workflows/run_tests_s3.yml
vendored
Normal file
153
.github/workflows/run_tests_s3.yml
vendored
Normal file
@ -0,0 +1,153 @@
|
||||
###
|
||||
# Test S3 Support
|
||||
# -- derived from run_tests_ubuntu.yml
|
||||
###
|
||||
|
||||
###
|
||||
# Build hdf5 dependencies and cache them in a combined directory.
|
||||
###
|
||||
|
||||
name: Run S3 netCDF Tests (under Ubuntu Linux)
|
||||
|
||||
on: [workflow_dispatch]
|
||||
|
||||
jobs:
|
||||
|
||||
build-deps-serial:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.10.8, 1.12.2, 1.14.0 ]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install System dependencies
|
||||
shell: bash -l {0}
|
||||
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev
|
||||
|
||||
###
|
||||
# Installing libhdf5
|
||||
###
|
||||
- name: Cache libhdf5-${{ matrix.hdf5 }}
|
||||
id: cache-hdf5
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/environments/${{ matrix.hdf5 }}
|
||||
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}
|
||||
|
||||
|
||||
- name: Build libhdf5-${{ matrix.hdf5 }}
|
||||
if: steps.cache-hdf5.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
set -x
|
||||
|
||||
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$(echo ${{ matrix.hdf5 }} | cut -d. -f 1,2)/hdf5-${{ matrix.hdf5 }}/src/hdf5-${{ matrix.hdf5 }}.tar.bz2
|
||||
tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2
|
||||
pushd hdf5-${{ matrix.hdf5 }}
|
||||
./configure --disable-static --enable-shared --prefix=${HOME}/environments/${{ matrix.hdf5 }} --enable-hl --with-szlib
|
||||
make -j
|
||||
make install -j
|
||||
popd
|
||||
|
||||
|
||||
#####
|
||||
# S3 Autotools-based tests.
|
||||
#####
|
||||
##
|
||||
# Serial
|
||||
##
|
||||
nc-ac-tests-s3-serial:
|
||||
|
||||
needs: build-deps-serial
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.14.0 ]
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install System dependencies
|
||||
shell: bash -l {0}
|
||||
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openssl libssl-dev
|
||||
|
||||
###
|
||||
# Set Environmental Variables
|
||||
###
|
||||
|
||||
- run: echo "CFLAGS=-I${HOME}/environments/${{ matrix.hdf5 }}/include" >> $GITHUB_ENV
|
||||
- run: echo "LDFLAGS=-L${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV
|
||||
- run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV
|
||||
|
||||
|
||||
###
|
||||
# Fetch Cache
|
||||
###
|
||||
|
||||
- name: Fetch HDF Cache
|
||||
id: cache-hdf
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/environments/${{ matrix.hdf5 }}
|
||||
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}
|
||||
|
||||
- name: Check Cache
|
||||
shell: bash -l {0}
|
||||
run: ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib
|
||||
|
||||
###
|
||||
# Configure and build
|
||||
###
|
||||
|
||||
- name: Run autoconf
|
||||
shell: bash -l {0}
|
||||
run: autoreconf -if
|
||||
|
||||
- name: Configure
|
||||
shell: bash -l {0}
|
||||
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./configure --enable-hdf5 --disable-dap --enable-external-server-tests --enable-s3 --enable-s3-internal --with-s3-testing=public
|
||||
if: ${{ success() }}
|
||||
|
||||
- name: Look at config.log if error
|
||||
shell: bash -l {0}
|
||||
run: cat config.log
|
||||
if: ${{ failure() }}
|
||||
|
||||
- name: Print Summary
|
||||
shell: bash -l {0}
|
||||
run: cat libnetcdf.settings
|
||||
|
||||
- name: Build Library and Utilities
|
||||
shell: bash -l {0}
|
||||
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make -j
|
||||
if: ${{ success() }}
|
||||
|
||||
- name: Build Tests
|
||||
shell: bash -l {0}
|
||||
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check TESTS="" -j
|
||||
if: ${{ success() }}
|
||||
|
||||
- name: Run Tests
|
||||
shell: bash -l {0}
|
||||
env:
|
||||
AWS_PROFILE: ${{ secrets.DEFAULT_PROFILE }}
|
||||
run: |
|
||||
mkdir -p ~/.aws
|
||||
echo "" > ~/.aws/config
|
||||
chmod go-x ~/.aws/config
|
||||
echo "${AWS_PROFILE}" >> ~/.aws/config
|
||||
LD_LIBRARY_PATH="/home/runner/work/netcdf-c/netcdf-c/liblib/.libs:${LD_LIBRARY_PATH}"
|
||||
CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j
|
||||
if: ${{ success() }}
|
||||
|
||||
#####
|
||||
# S3 CMake-based tests.
|
||||
#####
|
||||
##
|
||||
# Serial
|
||||
##
|
||||
# T.B.D. nc-cmake-tests-s3-serial:
|
28
.github/workflows/run_tests_ubuntu.yml
vendored
28
.github/workflows/run_tests_ubuntu.yml
vendored
@ -14,15 +14,14 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.8.22, 1.10.8, 1.12.2 ]
|
||||
hdf5: [ 1.10.8, 1.12.2, 1.14.0 ]
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install System dependencies
|
||||
shell: bash -l {0}
|
||||
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev doxygen
|
||||
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev doxygen openssl
|
||||
|
||||
###
|
||||
# Installing libhdf5
|
||||
@ -63,7 +62,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.12.2 ]
|
||||
hdf5: [ 1.14.0 ]
|
||||
|
||||
steps:
|
||||
|
||||
@ -125,14 +124,14 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.12.2 ]
|
||||
hdf5: [ 1.14.0 ]
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install System dependencies
|
||||
shell: bash -l {0}
|
||||
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev doxygen
|
||||
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev doxygen valgrind
|
||||
|
||||
###
|
||||
# Set Environmental Variables
|
||||
@ -192,7 +191,9 @@ jobs:
|
||||
|
||||
- name: Run Tests
|
||||
shell: bash -l {0}
|
||||
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j
|
||||
run: |
|
||||
LD_LIBRARY_PATH="/home/runner/work/netcdf-c/netcdf-c/liblib/.libs:${LD_LIBRARY_PATH}"
|
||||
CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j
|
||||
if: ${{ success() }}
|
||||
|
||||
##
|
||||
@ -205,7 +206,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.12.2 ]
|
||||
hdf5: [ 1.14.0 ]
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
@ -285,7 +286,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.12.2 ]
|
||||
hdf5: [ 1.14.0 ]
|
||||
|
||||
steps:
|
||||
|
||||
@ -365,7 +366,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.12.2 ]
|
||||
hdf5: [ 1.14.0 ]
|
||||
|
||||
steps:
|
||||
|
||||
@ -442,7 +443,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.8.22, 1.10.8, 1.12.2 ]
|
||||
hdf5: [1.10.8, 1.12.2, 1.14.0 ]
|
||||
use_nc4: [ nc3, nc4 ]
|
||||
use_dap: [ dap_off, dap_on ]
|
||||
use_nczarr: [ nczarr_off, nczarr_on ]
|
||||
@ -541,7 +542,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
hdf5: [ 1.8.22, 1.10.8, 1.12.2 ]
|
||||
hdf5: [ 1.10.8, 1.12.2, 1.14.0 ]
|
||||
use_nc4: [ nc3, nc4 ]
|
||||
use_dap: [ dap_off, dap_on ]
|
||||
use_nczarr: [ nczarr_off, nczarr_on ]
|
||||
@ -588,7 +589,7 @@ jobs:
|
||||
|
||||
- name: Check Cache
|
||||
shell: bash -l {0}
|
||||
run: ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib
|
||||
run: ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib
|
||||
|
||||
###
|
||||
# Configure and build
|
||||
@ -627,4 +628,3 @@ jobs:
|
||||
cd build
|
||||
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ctest -j 12 --rerun-failed --output-on-failure -VV
|
||||
if: ${{ failure() }}
|
||||
|
||||
|
5
.github/workflows/run_tests_win_cygwin.yml
vendored
5
.github/workflows/run_tests_win_cygwin.yml
vendored
@ -34,6 +34,7 @@ jobs:
|
||||
libhdf4-devel zipinfo libxml2-devel perl zlib-devel
|
||||
libzstd-devel libbz2-devel libaec-devel libzip-devel
|
||||
libdeflate-devel gcc-core libcurl-devel libiconv-devel
|
||||
libssl-devel libcrypt-devel
|
||||
|
||||
- name: (Autotools) Run autoconf and friends
|
||||
run: |
|
||||
@ -50,6 +51,7 @@ jobs:
|
||||
--disable-nczarr --disable-nczarr-filters
|
||||
--disable-nczarr-s3 --disable-nczarr-s3-tests
|
||||
|
||||
|
||||
- name: Look at config.log if error
|
||||
if: ${{ failure() }}
|
||||
run: cat config.log
|
||||
@ -71,4 +73,5 @@ jobs:
|
||||
|
||||
- name: (Autotools) Build and run tests
|
||||
timeout-minutes: 30
|
||||
run: make check -j8 SHELL=/bin/dash
|
||||
run: |
|
||||
make check -j8 SHELL=/bin/dash
|
||||
|
4
.github/workflows/run_tests_win_mingw.yml
vendored
4
.github/workflows/run_tests_win_mingw.yml
vendored
@ -37,7 +37,7 @@ jobs:
|
||||
run: autoreconf -if
|
||||
|
||||
- name: (Autotools) Configure Build
|
||||
run: ./configure --enable-hdf5 --enable-dap --disable-dap-remote-tests --disable-static --disable-byterange --disable-dap-remote-tests --disable-logging --enable-plugins --disable-nczarr-filters --disable-nczarr-s3 --disable-nczarr-s3-tests
|
||||
run: ./configure --enable-hdf5 --enable-dap --disable-dap-remote-tests --disable-static --disable-byterange --disable-dap-remote-tests --disable-logging --enable-plugins --disable-nczarr-filters --disable-s3
|
||||
if: ${{ success() }}
|
||||
|
||||
- name: (Autotools) Look at config.log if error
|
||||
@ -54,7 +54,7 @@ jobs:
|
||||
- name: Check for plugins
|
||||
run: |
|
||||
dir ./plugins
|
||||
dir ./plugins/.libs
|
||||
if test -f ./plugins/.libs ; then dir ./plugins/.libs; fi
|
||||
|
||||
- name: (Autotools) Build and Run Tests
|
||||
run: make check -j 8 LDFLAGS="-Wl,--export-all-symbols"
|
||||
|
109
CMakeLists.txt
109
CMakeLists.txt
@ -31,7 +31,7 @@ set(PACKAGE "netCDF" CACHE STRING "")
|
||||
|
||||
SET(NC_VERSION_MAJOR 4)
|
||||
SET(NC_VERSION_MINOR 9)
|
||||
SET(NC_VERSION_PATCH 2)
|
||||
SET(NC_VERSION_PATCH 3)
|
||||
SET(NC_VERSION_NOTE "-development")
|
||||
SET(netCDF_VERSION ${NC_VERSION_MAJOR}.${NC_VERSION_MINOR}.${NC_VERSION_PATCH}${NC_VERSION_NOTE})
|
||||
SET(VERSION ${netCDF_VERSION})
|
||||
@ -1062,7 +1062,7 @@ ENDIF()
|
||||
IF(ENABLE_DAP)
|
||||
SET(USE_DAP ON CACHE BOOL "")
|
||||
SET(ENABLE_DAP2 ON CACHE BOOL "")
|
||||
|
||||
|
||||
IF(ENABLE_HDF5)
|
||||
MESSAGE(STATUS "Enabling DAP4")
|
||||
SET(ENABLE_DAP4 ON CACHE BOOL "")
|
||||
@ -1249,18 +1249,6 @@ IF(MSVC)
|
||||
OPTION(ENABLE_XGETOPT "Enable bundled XGetOpt instead of external getopt()." ON)
|
||||
IF(ENABLE_XGETOPT)
|
||||
SET(USE_X_GETOPT ON CACHE BOOL "")
|
||||
# Copy XGetopt.c to everywhere it is needed. Avoids
|
||||
# inconsistent code
|
||||
FILE(COPY ${netCDF_SOURCE_DIR}/libsrc/XGetopt.c
|
||||
DESTINATION ${netCDF_BINARY_DIR}/ncgen3/)
|
||||
FILE(COPY ${netCDF_SOURCE_DIR}/libsrc/XGetopt.c
|
||||
DESTINATION ${netCDF_BINARY_DIR}/ncgen/)
|
||||
FILE(COPY ${netCDF_SOURCE_DIR}/libsrc/XGetopt.c
|
||||
DESTINATION ${netCDF_BINARY_DIR}/ncdump/)
|
||||
FILE(COPY ${netCDF_SOURCE_DIR}/libsrc/XGetopt.c
|
||||
DESTINATION ${netCDF_BINARY_DIR}/nczarr_test/)
|
||||
FILE(COPY ${netCDF_SOURCE_DIR}/libsrc/XGetopt.c
|
||||
DESTINATION ${netCDF_BINARY_DIR}/ncdap_test/)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
@ -1282,8 +1270,19 @@ ENDIF()
|
||||
|
||||
# Options for S3 Support
|
||||
OPTION(ENABLE_S3 "Enable S3 support." OFF)
|
||||
OPTION(ENABLE_S3_INTERNAL "Enable S3 Internal support." OFF)
|
||||
OPTION(ENABLE_NCZARR_S3 "Enable NCZarr S3 support; Deprecated in favor of ENABLE_S3" OFF)
|
||||
OPTION(ENABLE_NCZARR_S3_TESTS "Enable NCZarr S3 tests." OFF)
|
||||
|
||||
# Control S3 Testing: Multi-valued option
|
||||
SET(WITH_S3_TESTING OFF CACHE STRING "Control S3 Testing: ON (i.e. all) OFF (i.e. none) PUBLIC")
|
||||
SET_PROPERTY(CACHE WITH_S3_TESTING PROPERTY STRINGS ON OFF PUBLIC) #
|
||||
IF(WITH_S3_TESTING STREQUAL "")
|
||||
SET(WITH_S3_TESTING OFF CACHE STRING "") # Default
|
||||
ENDIF()
|
||||
|
||||
IF(WITH_S3_TESTING)
|
||||
message(WARNING "**** DO NOT USE WITH_S3_TESTING=ON UNLESS YOU HAVE ACCESS TO THE UNIDATA S3 BUCKET! ***")
|
||||
ENDIF()
|
||||
|
||||
# ENABLE_NCZARR_S3 is now an alias for ENABLE_S3 (but...)
|
||||
if (NOT ENABLE_S3 AND ENABLE_NCZARR_S3)
|
||||
@ -1291,38 +1290,46 @@ if (NOT ENABLE_S3 AND ENABLE_NCZARR_S3)
|
||||
ENDIF()
|
||||
UNSET(ENABLE_NCZARR_S3)
|
||||
|
||||
IF(ENABLE_NCZARR_S3_TESTS AND NOT ENABLE_S3)
|
||||
message(FATAL_ERROR "S3 support is disabled; please specify option -DENABLE_NCZARR_S3_TESTS=NO")
|
||||
SET(ENABLE_NCZARR_S3_TESTS OFF CACHE BOOL "NCZARR S3 TESTS" FORCE)
|
||||
ENDIF()
|
||||
|
||||
# Note we check for the library after checking for enable_s3
|
||||
# because for some reason this screws up if we unconditionally test for sdk
|
||||
# and it is not available. Fix someday
|
||||
IF(ENABLE_S3)
|
||||
# See if aws-s3-sdk is available
|
||||
find_package(AWSSDK REQUIRED COMPONENTS s3;core)
|
||||
IF(AWSSDK_FOUND)
|
||||
SET(service s3;core)
|
||||
AWSSDK_DETERMINE_LIBS_TO_LINK(service AWS_LINK_LIBRARIES)
|
||||
SET(ENABLE_S3_SDK ON CACHE BOOL "S3 SDK" FORCE)
|
||||
ELSE()
|
||||
SET(ENABLE_S3_SDK OFF CACHE BOOL "S3 SDK" FORCE)
|
||||
IF(NOT ENABLE_S3_INTERNAL)
|
||||
# See if aws-s3-sdk is available
|
||||
find_package(AWSSDK REQUIRED COMPONENTS s3;core)
|
||||
IF(AWSSDK_FOUND)
|
||||
SET(service s3;core)
|
||||
AWSSDK_DETERMINE_LIBS_TO_LINK(service AWS_LINK_LIBRARIES)
|
||||
SET(ENABLE_S3_AWS ON CACHE BOOL "S3 AWS" FORCE)
|
||||
ELSE()
|
||||
SET(ENABLE_S3_AWS OFF CACHE BOOL "S3 AWS" FORCE)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
ELSE()
|
||||
SET(ENABLE_S3_SDK OFF CACHE BOOL "S3 SDK" FORCE)
|
||||
SET(ENABLE_S3_AWS OFF CACHE BOOL "S3 AWS" FORCE)
|
||||
ENDIF()
|
||||
|
||||
IF(NOT ENABLE_S3_SDK)
|
||||
IF(ENABLE_S3)
|
||||
# Unless/until we get aws-sdk-cpp working for Windows, force use of internal
|
||||
IF(ENABLE_S3 AND MSVC)
|
||||
SET(ENABLE_S3_INTERNAL ON CACHE BOOL "S3 Intern" FORCE)
|
||||
ENDIF()
|
||||
|
||||
IF(ENABLE_S3)
|
||||
IF(NOT ENABLE_S3_AWS AND NOT ENABLE_S3_INTERNAL)
|
||||
message(FATAL_ERROR "S3 support library not found; please specify option -DENABLE_S3=NO")
|
||||
SET(ENABLE_S3 OFF CACHE BOOL "S3 support" FORCE)
|
||||
SET(ENABLE_NCZARR_S3_TESTS OFF CACHE BOOL "S3 tests" FORCE)
|
||||
SET(ENABLE_S3 OFF CACHE BOOL "S3 support" FORCE)
|
||||
ENDIF()
|
||||
IF(ENABLE_S3_AWS AND ENABLE_S3_INTERNAL)
|
||||
message(WARNING "Both aws-sdk-cpp and s3-internal enabled => use s3-internal")
|
||||
SET(ENABLE_S3_AWS OFF CACHE BOOL "S3 AWS" FORCE)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF(ENABLE_NCZARR_S3_TESTS)
|
||||
message(WARNING "**** DO NOT ENABLE_NCZARR_S3_TESTS UNLESS YOU HAVE ACCESS TO THE UNIDATA S3 BUCKET! ***")
|
||||
IF(NOT ENABLE_S3)
|
||||
IF(WITH_S3_TESTING STREQUAL "PUBLIC" OR WITH_S3_TESTING)
|
||||
message(WARNING "S3 support is disabled => WITH_S3_TESTING=OFF")
|
||||
SET(WITH_S3_TESTING OFF CACHE STRING "" FORCE)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
# Start disabling if curl not found
|
||||
@ -1902,6 +1909,7 @@ ENDIF()
|
||||
# Check for various functions.
|
||||
CHECK_FUNCTION_EXISTS(fsync HAVE_FSYNC)
|
||||
CHECK_FUNCTION_EXISTS(strlcat HAVE_STRLCAT)
|
||||
CHECK_FUNCTION_EXISTS(strlcpy HAVE_STRLCPY)
|
||||
CHECK_FUNCTION_EXISTS(strdup HAVE_STRDUP)
|
||||
CHECK_FUNCTION_EXISTS(strndup HAVE_STRNDUP)
|
||||
CHECK_FUNCTION_EXISTS(strtoll HAVE_STRTOLL)
|
||||
@ -2224,7 +2232,7 @@ ENDIF(ENABLE_BASH_SCRIPT_TESTING)
|
||||
|
||||
MACRO(add_sh_test prefix F)
|
||||
IF(HAVE_BASH)
|
||||
ADD_TEST(${prefix}_${F} bash "-c" "export srcdir=${CMAKE_CURRENT_SOURCE_DIR};export TOPSRCDIR=${CMAKE_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR}/${F}.sh ${F}.sh ${ARGN}")
|
||||
ADD_TEST(${prefix}_${F} bash "-c" "export srcdir=${CMAKE_CURRENT_SOURCE_DIR};export TOPSRCDIR=${CMAKE_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR}/${F}.sh ${ARGN}")
|
||||
ENDIF()
|
||||
ENDMACRO()
|
||||
|
||||
@ -2310,6 +2318,10 @@ ENDIF()
|
||||
IF(ENABLE_DAP4)
|
||||
ADD_SUBDIRECTORY(libdap4)
|
||||
ADD_SUBDIRECTORY(libncxml)
|
||||
ELSE()
|
||||
IF(ENABLE_S3_INTERNAL)
|
||||
ADD_SUBDIRECTORY(libncxml)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF(ENABLE_PLUGINS)
|
||||
@ -2552,9 +2564,10 @@ is_enabled(USE_CDF5 HAS_CDF5)
|
||||
is_enabled(ENABLE_ERANGE_FILL HAS_ERANGE_FILL)
|
||||
is_enabled(HDF5_HAS_PAR_FILTERS HAS_PAR_FILTERS)
|
||||
is_enabled(ENABLE_S3 HAS_S3)
|
||||
is_enabled(ENABLE_S3_SDK HAS_S3_SDK)
|
||||
is_enabled(ENABLE_S3_AWS HAS_S3_AWS)
|
||||
is_enabled(ENABLE_S3_INTERNAL HAS_S3_INTERNAL)
|
||||
is_enabled(HAS_HDF5_ROS3 HAS_HDF5_ROS3)
|
||||
is_enabled(ENABLE_NCZARR HAS_NCZARR)
|
||||
is_enabled(ENABLE_NCZARR_S3_TESTS DO_NCZARR_S3_TESTS)
|
||||
is_enabled(ENABLE_NCZARR_ZIP HAS_NCZARR_ZIP)
|
||||
is_enabled(ENABLE_MULTIFILTERS HAS_MULTIFILTERS)
|
||||
is_enabled(ENABLE_NCZARR_ZIP DO_NCZARR_ZIP_TESTS)
|
||||
@ -2567,6 +2580,26 @@ is_enabled(HAVE_ZSTD HAS_ZSTD)
|
||||
is_enabled(HAVE_BLOSC HAS_BLOSC)
|
||||
is_enabled(HAVE_BZ2 HAS_BZ2)
|
||||
|
||||
if(ENABLE_S3_INTERNAL)
|
||||
SET(WHICH_S3_SDK "internal")
|
||||
SET(NC_WHICH_S3_SDK "internal")
|
||||
elseif(ENABLE_S3_AWS)
|
||||
SET(WHICH_S3_SDK "aws-sdk-cpp")
|
||||
SET(NC_WHICH_S3_SDK "aws-sdk-cpp")
|
||||
else()
|
||||
SET(WHICH_S3_SDK "none")
|
||||
SET(NC_WHICH_S3_SDK "none")
|
||||
endif()
|
||||
|
||||
if(WITH_S3_TESTING STREQUAL PUBLIC)
|
||||
SET(DO_S3_TESTING "public")
|
||||
elseif(WITH_S3_TESTING)
|
||||
SET(DO_S3_TESTING "yes")
|
||||
elseif(NOT WITH_S3_TESTING)
|
||||
SET(DO_S3_TESTING "no")
|
||||
else()
|
||||
SET(DO_S3_TESTING "no")
|
||||
endif()
|
||||
|
||||
# Generate file from template.
|
||||
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libnetcdf.settings.in"
|
||||
|
16
Makefile.am
16
Makefile.am
@ -7,9 +7,19 @@
|
||||
|
||||
# Ed Hartnett, Ward Fisher
|
||||
|
||||
# Put together AM_CPPFLAGS and AM_LDFLAGS.
|
||||
include $(top_srcdir)/lib_flags.am
|
||||
|
||||
# This directory stores libtool macros, put there by aclocal.
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
TESTS_ENVIRONMENT =
|
||||
TEST_EXTENSIONS = .sh
|
||||
#SH_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver-verbose
|
||||
#sh_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver-verbose
|
||||
#LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver-verbose
|
||||
#TESTS_ENVIRONMENT += export SETX=1;
|
||||
|
||||
##
|
||||
# Turn off plugin directory during distcheck, see
|
||||
# comment thread at https://github.com/Unidata/netcdf-c/pull/2348
|
||||
@ -74,10 +84,14 @@ endif
|
||||
|
||||
if ENABLE_DAP4
|
||||
DAP4 = libdap4
|
||||
XML = libncxml
|
||||
NCDAP4TESTDIR = dap4_test
|
||||
XML = libncxml
|
||||
endif #DAP4
|
||||
|
||||
if ENABLE_S3_INTERNAL
|
||||
XML = libncxml # Internal S3 requires XML
|
||||
endif #ENABLE_S3_INTERNAL
|
||||
|
||||
# Build PnetCDF
|
||||
if USE_PNETCDF
|
||||
LIBSRCP = libsrcp
|
||||
|
@ -5,10 +5,24 @@ Release Notes {#RELEASE_NOTES}
|
||||
|
||||
This file contains a high-level description of this package's evolution. Releases are in reverse chronological order (most recent first). Note that, as of netcdf 4.2, the `netcdf-c++` and `netcdf-fortran` libraries have been separated into their own libraries.
|
||||
|
||||
## 4.9.2 - TBD
|
||||
## 4.9.3 - TBD
|
||||
|
||||
|
||||
* Improve S3 documentation, testing, and support See [Github #2686](https://github.com/Unidata/netcdf-c/pull/2686).
|
||||
* Remove obsolete code. See [Github #2680](https://github.com/Unidata/netcdf-c/pull/2680).
|
||||
* [Bug Fix] Add a crude test to see if an NCZarr path looks like a valid NCZarr/Zarr file. See [Github #2658](https://github.com/Unidata/netcdf-c/pull/2658).
|
||||
|
||||
## 4.9.2 - March 14, 2023
|
||||
|
||||
This is the maintenance release which adds support for HDF5 version 1.14.0, in addition to a handful of other changes and bugfixes.
|
||||
|
||||
* Fix 'make distcheck' error in run_interop.sh. See [Github #2631](https://github.com/Unidata/netcdf-c/pull/2631).
|
||||
* Fix a minor bug in reporting the use of szip. See [Github #2679](https://github.com/Unidata/netcdf-c/pull/2679).
|
||||
* Simplify the handling of XGetopt. See [Github #2678](https://github.com/Unidata/netcdf-c/pull/2678).
|
||||
* Update `nc-config` to remove inclusion from automatically-detected `nf-config` and `ncxx-config` files, as the wrong files could be included in the output. This is in support of [GitHub #2274](https://github.com/Unidata/netcdf-c/issues/2274).
|
||||
* Update H5FDhttp.[ch] to work with HDF5 version 1.13.2 and later. See [Github #2635](https://github.com/Unidata/netcdf-c/pull/2635).
|
||||
* [Bug Fix] Update DAP code to enable CURLOPT_ACCEPT_ENCODING by default. See [Github #2630](https://github.com/Unidata/netcdf-c/pull/2630).
|
||||
* [Bug Fix] Fix byterange failures for certain URLs. See [Github #????](https://github.com/Unidata/netcdf-c/pull/????).
|
||||
* [Bug Fix] Fix byterange failures for certain URLs. See [Github #2649](https://github.com/Unidata/netcdf-c/pull/2649).
|
||||
* [Bug Fix] Fix 'make distcheck' error in run_interop.sh. See [Github #2631](https://github.com/Unidata/netcdf-c/pull/2631).
|
||||
* [Enhancement] Update `nc-config` to remove inclusion from automatically-detected `nf-config` and `ncxx-config` files, as the wrong files could be included in the output. This is in support of [GitHub #2274](https://github.com/Unidata/netcdf-c/issues/2274).
|
||||
* [Enhancement] Update H5FDhttp.[ch] to work with HDF5 version 1.14.0. See [Github #2615](https://github.com/Unidata/netcdf-c/pull/2615).
|
||||
@ -113,7 +127,10 @@ This file contains a high-level description of this package's evolution. Release
|
||||
|
||||
#### Changes
|
||||
|
||||
|
||||
* [Bug Fix] Get remotetest server working for DAP4 and re-enable its use in the netcdf-c library for testing. See [Github #2558](https://github.com/Unidata/netcdf-c/pull/2558).
|
||||
* [Bug Fix] Fix a race condition when testing missing filters. See [Github #2557](https://github.com/Unidata/netcdf-c/pull/2557).
|
||||
* [Bug Fix] Make major changes to libdap4 and dap4_test to update the non-remote DAP4 tests. See [Github #2555](https://github.com/Unidata/netcdf-c/pull/2555).
|
||||
* [Bug Fix] Fix some race conditions due to use of a common file in multiple shell scripts . See [Github #2552](https://github.com/Unidata/netcdf-c/pull/2552).
|
||||
|
||||
|
||||
|
@ -136,27 +136,30 @@ are set when opening a binary file on Windows. */
|
||||
/* if true, do remote tests */
|
||||
#cmakedefine ENABLE_DAP_REMOTE_TESTS 1
|
||||
|
||||
/* if true, enable S3 support */
|
||||
#cmakedefine ENABLE_S3 1
|
||||
|
||||
/* if true, S3 SDK is available */
|
||||
#cmakedefine ENABLE_S3_SDK 1
|
||||
|
||||
/* if true, enable NCZARR */
|
||||
#cmakedefine ENABLE_NCZARR 1
|
||||
|
||||
/* if true, enable nczarr filter support */
|
||||
#cmakedefine ENABLE_NCZARR_FILTERS 1
|
||||
|
||||
/* if true, enable S3 testing*/
|
||||
#cmakedefine ENABLE_NCZARR_S3_TESTS 1
|
||||
|
||||
/* if true, enable nczarr zip support */
|
||||
#cmakedefine ENABLE_NCZARR_ZIP 1
|
||||
|
||||
/* if true, Allow dynamically loaded plugins */
|
||||
#cmakedefine ENABLE_PLUGINS 1
|
||||
|
||||
/* if true, enable S3 support */
|
||||
#cmakedefine ENABLE_S3 1
|
||||
|
||||
/* if true, AWS S3 SDK is available */
|
||||
#cmakedefine ENABLE_S3_AWS 1
|
||||
|
||||
/* if true, Force use of S3 internal library */
|
||||
#cmakedefine ENABLE_S3_INTERNAL 1
|
||||
|
||||
/* if true, enable S3 testing*/
|
||||
#cmakedefine WITH_S3_TESTING "PUBLIC"
|
||||
|
||||
/* if true, run extra tests which may not work yet */
|
||||
#cmakedefine EXTRA_TESTS 1
|
||||
|
||||
@ -379,6 +382,9 @@ are set when opening a binary file on Windows. */
|
||||
/* Define to 1 if you have the `strlcat' function. */
|
||||
#cmakedefine HAVE_STRLCAT 1
|
||||
|
||||
/* Define to 1 if you have the `strlcpy' function. */
|
||||
#cmakedefine HAVE_STRLCPY 1
|
||||
|
||||
/* Define to 1 if you have the `strtoll' function. */
|
||||
#cmakedefine HAVE_STRTOLL 1
|
||||
|
||||
|
149
configure.ac
149
configure.ac
@ -10,7 +10,7 @@
|
||||
AC_PREREQ([2.59])
|
||||
|
||||
# Initialize with name, version, and support email address.
|
||||
AC_INIT([netCDF],[4.9.2-development],[support-netcdf@unidata.ucar.edu],[netcdf-c])
|
||||
AC_INIT([netCDF],[4.9.3-development],[support-netcdf@unidata.ucar.edu],[netcdf-c])
|
||||
|
||||
##
|
||||
# Prefer an empty CFLAGS variable instead of the default -g -O2.
|
||||
@ -21,7 +21,7 @@ AC_INIT([netCDF],[4.9.2-development],[support-netcdf@unidata.ucar.edu],[netcdf-c
|
||||
|
||||
AC_SUBST([NC_VERSION_MAJOR]) NC_VERSION_MAJOR=4
|
||||
AC_SUBST([NC_VERSION_MINOR]) NC_VERSION_MINOR=9
|
||||
AC_SUBST([NC_VERSION_PATCH]) NC_VERSION_PATCH=2
|
||||
AC_SUBST([NC_VERSION_PATCH]) NC_VERSION_PATCH=3
|
||||
AC_SUBST([NC_VERSION_NOTE]) NC_VERSION_NOTE="-development"
|
||||
|
||||
##
|
||||
@ -29,7 +29,7 @@ AC_SUBST([NC_VERSION_NOTE]) NC_VERSION_NOTE="-development"
|
||||
# See http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning
|
||||
# for information regarding incrementing `-version-info`.
|
||||
# These values should match those in CMakeLists.txt
|
||||
AC_SUBST([netCDF_SO_VERSION]) netCDF_SO_VERSION=21:1:2
|
||||
AC_SUBST([netCDF_SO_VERSION]) netCDF_SO_VERSION=21:2:2
|
||||
|
||||
#####
|
||||
# Set some variables used to generate a libnetcdf.settings file,
|
||||
@ -97,7 +97,7 @@ AC_CONFIG_LINKS([nc_test4/ref_hdf5_compat3.nc:nc_test4/ref_hdf5_compat3.nc])
|
||||
AC_CONFIG_LINKS([hdf4_test/ref_chunked.hdf4:hdf4_test/ref_chunked.hdf4])
|
||||
AC_CONFIG_LINKS([hdf4_test/ref_contiguous.hdf4:hdf4_test/ref_contiguous.hdf4])
|
||||
AM_INIT_AUTOMAKE([foreign dist-zip subdir-objects])
|
||||
AM_MAINTAINER_MODE()
|
||||
#AM_MAINTAINER_MODE()
|
||||
# Check for the existence of this file before proceeding.
|
||||
AC_CONFIG_SRCDIR([include/netcdf.h])
|
||||
|
||||
@ -135,9 +135,9 @@ AC_MSG_NOTICE([checking supported formats])
|
||||
# An explicit disable of netcdf-4 | netcdf4 is treated as if it was disable-hdf5
|
||||
AC_MSG_CHECKING([whether we should build with netcdf4 (alias for HDF5)])
|
||||
AC_ARG_ENABLE([netcdf4], [AS_HELP_STRING([--disable-netcdf4],
|
||||
[(deprecated synonym for --enable-hdf5)])])
|
||||
[(Deprecated) Synonym for --enable-hdf5)])])
|
||||
test "x$enable_netcdf4" = xno || enable_netcdf4=yes
|
||||
AC_MSG_RESULT([$enable_netcdf4 (deprecated; Please use with --disable-hdf5)])
|
||||
AC_MSG_RESULT([$enable_netcdf4 (Deprecated) Please use --disable-hdf5)])
|
||||
AC_MSG_CHECKING([whether we should build with netcdf-4 (alias for HDF5)])
|
||||
AC_ARG_ENABLE([netcdf-4], [AS_HELP_STRING([--disable-netcdf-4],
|
||||
[(synonym for --disable-netcdf4)])])
|
||||
@ -565,7 +565,7 @@ if test "x$enable_libxml2" = xyes; then
|
||||
if test -z "$NC_XML2_CONFIG"; then
|
||||
AC_MSG_ERROR([Cannot find xml2-config utility. Either install the libxml2 development package, or re-run configure with --disable-libxml2 to use the bundled xml2 parser])
|
||||
fi
|
||||
# We can optionally use libxml2 for DAP4
|
||||
# We can optionally use libxml2 for DAP4 and nch5comms, if enabled
|
||||
AC_CHECK_LIB([xml2],[xmlReadMemory],[have_libxml2=yes],[have_libxml2=no])
|
||||
if test "x$have_libxml2" = "xyes" ; then
|
||||
AC_SEARCH_LIBS([xmlReadMemory],[xml2 xml2.dll cygxml2.dll], [],[])
|
||||
@ -614,21 +614,14 @@ AC_MSG_CHECKING([whether dap use of remotetest server should be enabled])
|
||||
AC_ARG_ENABLE([dap-remote-tests],
|
||||
[AS_HELP_STRING([--disable-dap-remote-tests],
|
||||
[disable dap remote tests])])
|
||||
# Default off
|
||||
test "x$enable_dap_remote_tests" = xyes || enable_dap_remote_tests=no
|
||||
# Default on
|
||||
test "x$enable_dap_remote_tests" = xno || enable_dap_remote_tests=yes
|
||||
if test "x$enable_dap" = "xno" ; then
|
||||
enable_dap_remote_tests=no
|
||||
fi
|
||||
AC_MSG_RESULT($enable_dap_remote_tests)
|
||||
|
||||
AC_MSG_CHECKING([whether dap use of remotetest server should be enabled])
|
||||
AC_ARG_ENABLE([dap-remote-tests],
|
||||
[AS_HELP_STRING([--disable-dap-remote-tests],
|
||||
[disable dap remote tests])])
|
||||
test "x$enable_dap_remote_tests" = xno || enable_dap_remote_tests=yes
|
||||
AC_MSG_RESULT($enable_dap_remote_tests)
|
||||
|
||||
AC_MSG_CHECKING([whether use of external servers should be enabled])
|
||||
AC_MSG_CHECKING([whether use of external (non-unidata) servers should be enabled])
|
||||
AC_ARG_ENABLE([external-server-tests],
|
||||
[AS_HELP_STRING([--enable-external-server-tests (default off)],
|
||||
[enable external server tests])])
|
||||
@ -663,12 +656,15 @@ AC_ARG_WITH([testservers],
|
||||
[AS_HELP_STRING([--with-testservers=<host:port>,<host:port>...],
|
||||
[Specify the testserver(s) to try for remote tests.])],
|
||||
[REMOTETESTSERVERS=$with_testservers], [REMOTETESTSERVERS=no])
|
||||
msg="$REMOTETESTSERVERS"
|
||||
if test "x$REMOTETESTSERVERS" = xno ; then
|
||||
svclist="remotetest.unidata.ucar.edu"
|
||||
REMOTETESTSERVERS="$svclist"
|
||||
dfaltsvc="remotetest.unidata.ucar.edu"
|
||||
REMOTETESTSERVERS="${dfaltsvc}"
|
||||
fi
|
||||
AC_MSG_RESULT([$svclist])
|
||||
msg="${REMOTETESTSERVERS}"
|
||||
if test "x$dfaltsvc" != x ; then
|
||||
msg="${msg} (default)"
|
||||
fi
|
||||
AC_MSG_RESULT([${msg}])
|
||||
AC_DEFINE_UNQUOTED([REMOTETESTSERVERS], ["$REMOTETESTSERVERS"], [the testservers for remote tests.])
|
||||
|
||||
# Set the config.h flags
|
||||
@ -807,13 +803,14 @@ AC_MSG_RESULT($enable_s3)
|
||||
AC_MSG_CHECKING([whether netcdf NCZarr S3 support should be enabled])
|
||||
AC_ARG_ENABLE([nczarr-s3],
|
||||
[AS_HELP_STRING([--enable-nczarr-s3],
|
||||
[enable netcdf NCZarr S3 support; Deprecated in favor of --enable-s3])])
|
||||
[(Deprecated) enable netcdf NCZarr S3 support; Deprecated in favor of --enable-s3])])
|
||||
AC_MSG_RESULT([$enable_nczarr_s3 (Deprecated) Please use --enable-s3)])
|
||||
|
||||
# Set enable_s3 instead of enable_nczarr_s3
|
||||
if test "x$enable_s3" = xno && test "x$enable_nczarr_s3" = xyes ; then
|
||||
enable_s3=yes # back compatibility
|
||||
fi
|
||||
unset enable_nczarr_s3
|
||||
AC_MSG_RESULT($enable_s3)
|
||||
|
||||
# Note we check for the library after checking for enable_s3
|
||||
# because for some reason this fails if we unconditionally test for sdk
|
||||
@ -822,48 +819,73 @@ if test "x$enable_s3" = xyes ; then
|
||||
# See if we have the s3 aws library
|
||||
# Check for the AWS S3 SDK library
|
||||
AC_LANG_PUSH([C++])
|
||||
AC_SEARCH_LIBS([aws_allocator_is_valid],[aws-c-common aws-cpp-sdk-s3 aws-cpp-sdk-core], [enable_s3_sdk=yes],[enable_s3_sdk=no])
|
||||
AC_SEARCH_LIBS([aws_allocator_is_valid],[aws-c-common aws-cpp-sdk-s3 aws-cpp-sdk-core], [enable_s3_aws=yes],[enable_s3_aws=no])
|
||||
AC_LANG_POP
|
||||
else
|
||||
enable_s3_sdk=no
|
||||
enable_s3_aws=no
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([whether AWS S3 SDK library is available])
|
||||
AC_MSG_RESULT([$enable_s3_sdk])
|
||||
AC_MSG_RESULT([$enable_s3_aws])
|
||||
|
||||
if test "x$enable_s3_sdk" = xno ; then
|
||||
# Check for enabling forced use of Internal S3 library
|
||||
AC_MSG_CHECKING([whether internal S3 support should be used])
|
||||
AC_ARG_ENABLE([s3-internal],
|
||||
[AS_HELP_STRING([--enable-s3-internal],
|
||||
[enable internal S3 support])])
|
||||
test "x$enable_s3_internal" = xyes || enable_s3_internal=no
|
||||
AC_MSG_RESULT($enable_s3_internal)
|
||||
|
||||
if test "x$enable_s3_aws" = xno && test "x$enable_s3_internal" = xno ; then
|
||||
AC_MSG_WARN([No S3 library available => S3 support disabled])
|
||||
enable_S3=no
|
||||
fi
|
||||
|
||||
if test "x$enable_s3_aws" = xyes && test "x$enable_s3_internal" = xyes ; then
|
||||
AC_MSG_WARN([Both aws-sdk-cpp and s3-internal enabled => use s3-internal.])
|
||||
enable_s3_aws=no
|
||||
fi
|
||||
|
||||
if test "x$enable_s3_internal" = xyes ; then
|
||||
if test "x$ISOSX" != xyes && test "x$ISMINGW" != xyes && test "x$ISMSVC" != xyes ; then
|
||||
# Find crypto libraries if using ssl
|
||||
AC_CHECK_LIB([ssl],[ssl_create_cipher_list])
|
||||
AC_CHECK_LIB([crypto],[SHA256])
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check for enabling S3 testing
|
||||
AC_MSG_CHECKING([whether netcdf zarr S3 testing should be enabled])
|
||||
AC_ARG_ENABLE([nczarr-s3-tests],
|
||||
[AS_HELP_STRING([--enable-nczarr-s3-tests],
|
||||
[enable netcdf zarr S3 testing])])
|
||||
test "x$enable_nczarr_s3_tests" = xyes || enable_nczarr_s3_tests=no
|
||||
AC_MSG_RESULT($enable_nczarr_s3_tests)
|
||||
AC_MSG_CHECKING([what level of netcdf S3 testing should be enabled])
|
||||
AC_ARG_WITH([s3-testing],
|
||||
[AS_HELP_STRING([--with-s3-testing=yes|no|public],
|
||||
[control netcdf S3 testing])],
|
||||
[], [with_s3_testing=public])
|
||||
AC_MSG_RESULT($with_s3_testing)
|
||||
|
||||
# Disable S3 tests if S3 support is disabled
|
||||
if test "x$enable_nczarr_s3_tests" = xyes ; then
|
||||
if test "x$enable_s3" = xno ; then
|
||||
AC_MSG_ERROR([S3 support is disabled => no testing])
|
||||
enable_nczarr_s3_tests=no
|
||||
if test "x$enable_s3" = xno ; then
|
||||
if test "x$with_s3_testing" != xno ; then
|
||||
AC_MSG_WARN([S3 support is disabled => no testing])
|
||||
with_s3_testing=no
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$enable_s3" = xyes ; then
|
||||
AC_DEFINE([ENABLE_S3], [1], [if true, build netcdf-c with S3 support enabled])
|
||||
fi
|
||||
if test "x$enable_nczarr_s3_tests" = xyes ; then
|
||||
AC_DEFINE([ENABLE_NCZARR_S3_TESTS], [1], [if true, build libnczarr with S3 tests enabled])
|
||||
fi
|
||||
if test "x$enable_s3_sdk" = xyes ; then
|
||||
AC_DEFINE([ENABLE_S3_SDK], [1], [If true, then S3 sdk was found])
|
||||
|
||||
if test "x$enable_s3_aws" = xyes ; then
|
||||
AC_DEFINE([ENABLE_S3_AWS], [1], [If true, then use aws S3 library])
|
||||
fi
|
||||
|
||||
if test "x$enable_nczarr_s3_tests" = xyes ; then
|
||||
AC_MSG_WARN([*** DO NOT ENABLE_NCZARR_S3_TESTS UNLESS YOU HAVE ACCESS TO THE UNIDATA S3 BUCKET! ***])
|
||||
if test "x$enable_s3_internal" = xyes ; then
|
||||
AC_DEFINE([ENABLE_S3_INTERNAL], [1], [If true, then use internal S3 library])
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED([WITH_S3_TESTING], [$with_s3_testing], [control S3 testing.])
|
||||
|
||||
if test "x$with_s3_testing" = xyes ; then
|
||||
AC_MSG_WARN([*** DO NOT SPECIFY WITH_S3_TESTING=YES UNLESS YOU HAVE ACCESS TO THE UNIDATA S3 BUCKET! ***])
|
||||
fi
|
||||
|
||||
# Set default
|
||||
@ -1213,7 +1235,7 @@ AC_CHECK_FUNCS([strlcat snprintf strcasecmp fileno \
|
||||
strdup strtoll strtoull \
|
||||
mkstemp mktemp random \
|
||||
getrlimit gettimeofday fsync MPI_Comm_f2c MPI_Info_f2c \
|
||||
strncasecmp])
|
||||
strncasecmp strlcpy])
|
||||
|
||||
# See if clock_gettime is available and its arg types.
|
||||
AC_CHECK_FUNCS([clock_gettime])
|
||||
@ -1484,7 +1506,7 @@ fi
|
||||
hdf5_parallel=no
|
||||
hdf5_supports_par_filters=no
|
||||
enable_hdf5_szip=no
|
||||
has_ross3=no
|
||||
has_hdf5_ros3=no
|
||||
|
||||
if test "x$enable_hdf5" = xyes; then
|
||||
|
||||
@ -1528,8 +1550,8 @@ if test "x$enable_hdf5" = xyes; then
|
||||
AC_SEARCH_LIBS([H5Dread_chunk],[hdf5_hldll hdf5_hl], [has_readchunks=yes], [has_readdhunks=no])
|
||||
|
||||
# See if hdf5 library supports Read-Only S3 (byte-range) driver
|
||||
AC_SEARCH_LIBS([H5Pset_fapl_ros3],[hdf5_hldll hdf5_hl], [has_ros3=yes], [has_ros3=no])
|
||||
if test "x$has_ros3" = xyes && test "x$enable_byterange" = xyes; then
|
||||
AC_SEARCH_LIBS([H5Pset_fapl_ros3],[hdf5_hldll hdf5_hl], [has_hdf5_ros3=yes], [has_hdf5_ros3=no])
|
||||
if test "x$has_hdf5_ros3" = xyes && test "x$enable_byterange" = xyes; then
|
||||
AC_DEFINE([ENABLE_HDF5_ROS3], [1], [if true, support byte-range using hdf5 virtual file driver.])
|
||||
fi
|
||||
|
||||
@ -1828,9 +1850,11 @@ AM_CONDITIONAL(RELAX_COORD_BOUND, [test "xyes" = xyes])
|
||||
AM_CONDITIONAL(HAS_PAR_FILTERS, [test x$hdf5_supports_par_filters = xyes ])
|
||||
# We need to simplify the set of S3 and Zarr flag combinations
|
||||
AM_CONDITIONAL(ENABLE_S3, [test "x$enable_s3" = xyes])
|
||||
AM_CONDITIONAL(ENABLE_S3_SDK, [test "x$enable_s3_sdk" = xyes])
|
||||
AM_CONDITIONAL(ENABLE_S3_AWS, [test "x$enable_s3_aws" = xyes])
|
||||
AM_CONDITIONAL(ENABLE_S3_INTERNAL, [test "x$enable_s3_internal" = xyes])
|
||||
AM_CONDITIONAL(ENABLE_NCZARR, [test "x$enable_nczarr" = xyes])
|
||||
AM_CONDITIONAL(ENABLE_NCZARR_S3_TESTS, [test "x$enable_nczarr_s3_tests" = xyes])
|
||||
AM_CONDITIONAL(ENABLE_S3_TESTPUB, [test "x$with_s3_testing" != xno]) # all => public
|
||||
AM_CONDITIONAL(ENABLE_S3_TESTALL, [test "x$with_s3_testing" = xyes])
|
||||
AM_CONDITIONAL(ENABLE_NCZARR_ZIP, [test "x$enable_nczarr_zip" = xyes])
|
||||
AM_CONDITIONAL(HAS_MULTIFILTERS, [test "x$has_multifilters" = xyes])
|
||||
AM_CONDITIONAL(HAVE_SZ, [test "x$have_sz" = xyes])
|
||||
@ -1936,8 +1960,11 @@ AC_SUBST(HAS_BYTERANGE,[$enable_byterange])
|
||||
AC_SUBST(RELAX_COORD_BOUND,[yes])
|
||||
AC_SUBST([HAS_PAR_FILTERS], [$hdf5_supports_par_filters])
|
||||
AC_SUBST(HAS_S3,[$enable_s3])
|
||||
AC_SUBST(HAS_S3_AWS,[$enable_s3_aws])
|
||||
AC_SUBST(HAS_S3_INTERNAL,[$enable_s3_internal])
|
||||
AC_SUBST(HAS_HDF5_ROS3,[$has_hdf5_ros3])
|
||||
AC_SUBST(HAS_NCZARR,[$enable_nczarr])
|
||||
AC_SUBST(DO_NCZARR_S3_TESTS,[$enable_nczarr_s3_tests])
|
||||
AC_SUBST(DO_S3_TESTING,[$with_s3_testing])
|
||||
AC_SUBST(HAS_NCZARR_ZIP,[$enable_nczarr_zip])
|
||||
AC_SUBST(HAS_MULTIFILTERS,[$has_multifilters])
|
||||
AC_SUBST(DO_NCZARR_ZIP_TESTS,[$enable_nczarr_zip])
|
||||
@ -1947,11 +1974,22 @@ AC_SUBST(DO_FILTER_TESTS,[$enable_filter_testing])
|
||||
AC_SUBST(HAS_SZLIB,[$have_sz])
|
||||
AC_SUBST(HAS_SZLIB_WRITE, [$have_sz])
|
||||
AC_SUBST(HAS_ZSTD,[$have_zstd])
|
||||
AC_SUBST(DO_LARGE_TESTS,[$enable_large_file_tests])
|
||||
|
||||
if test "x$enable_s3_aws" = xyes ; then
|
||||
AC_SUBST(WHICH_S3_SDK,[aws-sdk-cpp])
|
||||
fi
|
||||
if test "x$enable_s3_internal" = xyes; then
|
||||
AC_SUBST(WHICH_S3_SDK,[internal])
|
||||
fi
|
||||
if test "x$enable_s3_aws" = xno && test "x$enable_s3_internal" = xno; then
|
||||
AC_SUBST(WHICH_S3_SDK,[none])
|
||||
fi
|
||||
|
||||
# Always available
|
||||
std_filters="deflate bz2"
|
||||
|
||||
if test "x$enable_szlib" = xyes ; then
|
||||
if test "x$have_sz" = xyes ; then
|
||||
std_filters="${std_filters} szip"
|
||||
fi
|
||||
if test "x$have_blosc" = xyes ; then
|
||||
@ -2036,7 +2074,7 @@ AC_SUBST([NOUNDEFINED])
|
||||
# example: AX_SET_META([NC_HAS_NC2],[$nc_build_v2],[]) # Because it checks for no.
|
||||
# AX_SET_META([NC_HAS_HDF4],[$enable_hdf4],[yes])
|
||||
AC_DEFUN([AX_SET_META],[
|
||||
if [ test "x$2" = x$3 ]; then
|
||||
if [ test "x$2" = "x$3" ]; then
|
||||
AC_SUBST([$1]) $1=1
|
||||
else
|
||||
AC_SUBST([$1]) $1=0
|
||||
@ -2064,8 +2102,11 @@ AX_SET_META([NC_HAS_CDF5],[$enable_cdf5],[yes])
|
||||
AX_SET_META([NC_HAS_ERANGE_FILL], [$enable_erange_fill],[yes])
|
||||
AX_SET_META([NC_HAS_PAR_FILTERS], [$hdf5_supports_par_filters],[yes])
|
||||
AX_SET_META([NC_HAS_BYTERANGE],[$enable_byterange],[yes])
|
||||
AX_SET_META([NC_HAS_NCZARR],[$enable_nczarr],[yes])
|
||||
AX_SET_META([NC_HAS_S3],[$enable_s3],[yes])
|
||||
AX_SET_META([NC_HAS_S3_AWS],[$enable_s3_aws],[yes])
|
||||
AX_SET_META([NC_HAS_S3_INTERNAL],[$enable_s3_internal],[yes])
|
||||
AX_SET_META([NC_HAS_HDF5_ROS3],[$has_hdf5_ros3],[yes])
|
||||
AX_SET_META([NC_HAS_NCZARR],[$enable_nczarr],[yes])
|
||||
AX_SET_META([NC_HAS_MULTIFILTERS],[$has_multifilters],[yes])
|
||||
AX_SET_META([NC_HAS_LOGGING],[$enable_logging],[yes])
|
||||
AX_SET_META([NC_HAS_QUANTIZE],[$enable_quantize],[yes])
|
||||
|
@ -15,10 +15,7 @@ ADD_SUBDIRECTORY(baselineremote)
|
||||
ADD_SUBDIRECTORY(baselinehyrax)
|
||||
ADD_SUBDIRECTORY(baselinethredds)
|
||||
ADD_SUBDIRECTORY(cdltestfiles)
|
||||
ADD_SUBDIRECTORY(daptestfiles)
|
||||
ADD_SUBDIRECTORY(dmrtestfiles)
|
||||
ADD_SUBDIRECTORY(nctestfiles)
|
||||
ADD_SUBDIRECTORY(misctestfiles)
|
||||
ADD_SUBDIRECTORY(rawtestfiles)
|
||||
|
||||
FILE(GLOB COPY_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.sh)
|
||||
|
||||
@ -39,41 +36,46 @@ IF(ENABLE_TESTS)
|
||||
# keep it from being too bad.
|
||||
|
||||
IF(BUILD_UTILITIES)
|
||||
add_sh_test(dap4_test test_fillmismatch)
|
||||
|
||||
# Following tests are Unit tests, so not tested under visual studio
|
||||
IF(NOT MSVC)
|
||||
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/libdap4)
|
||||
build_bin_test(test_parse)
|
||||
build_bin_test(test_meta)
|
||||
IF(USE_X_GETOPT)
|
||||
build_bin_test(test_data ${CMAKE_SOURCE_DIR}/libdispatch/XGetopt.c)
|
||||
ELSE()
|
||||
build_bin_test(test_data)
|
||||
ENDIF()
|
||||
add_sh_test(dap4_test test_parse)
|
||||
add_sh_test(dap4_test test_raw)
|
||||
add_sh_test(dap4_test test_meta)
|
||||
add_sh_test(dap4_test test_data)
|
||||
ENDIF()
|
||||
ENDIF(BUILD_UTILITIES)
|
||||
|
||||
IF(ENABLE_DAP_REMOTE_TESTS)
|
||||
add_sh_test(dap4_test test_remote)
|
||||
add_sh_test(dap4_test test_hyrax)
|
||||
add_sh_test(dap4_test test_thredds)
|
||||
# add_sh_test(dap4_test test_thredds)
|
||||
add_sh_test(dap4_test test_dap4url)
|
||||
ENDIF(ENABLE_DAP_REMOTE_TESTS)
|
||||
|
||||
ENDIF(ENABLE_TESTS)
|
||||
|
||||
FILE(COPY ./baselineraw DESTINATION ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
#FILE(COPY ./baseline DESTINATION ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
#FILE(COPY ./baselineraw DESTINATION ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
#FILE(COPY ./baselineremote DESTINATION ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
#FILE(COPY ./baselinethredds DESTINATION ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
#FILE(COPY ./baselinehyrax DESTINATION ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
#FILE(COPY ./cdltestfiles DESTINATION ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
#FILE(COPY ./daptestfiles DESTINATION ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
#FILE(COPY ./dmrtestfiles DESTINATION ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
#FILE(COPY ./rawtestfiles DESTINATION ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
## Specify files to be distributed by 'make dist'
|
||||
FILE(GLOB CUR_EXTRA_DIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*.c ${CMAKE_CURRENT_SOURCE_DIR}/*.h ${CMAKE_CURRENT_SOURCE_DIR}/*.sh
|
||||
#${CMAKE_CURRENT_SOURCE_DIR}/daptestfiles
|
||||
#${CMAKE_CURRENT_SOURCE_DIR}/dmrtestfiles
|
||||
#${CMAKE_CURRENT_SOURCE_DIR}/cdltestfiles
|
||||
#${CMAKE_CURRENT_SOURCE_DIR}/baseline
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cdltestfiles
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/rawtestfiles
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/baseline
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/baselineraw
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/baselineremote
|
||||
#${CMAKE_CURRENT_SOURCE_DIR}/baselinerthredds
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/baselinehyrax
|
||||
)
|
||||
SET(CUR_EXTRA_DIST ${CUR_EXTRA_DIST} CMakeLists.txt Makefile.am)
|
||||
ADD_EXTRA_DIST("${CUR_EXTRA_DIST}")
|
||||
|
@ -30,33 +30,38 @@ check_PROGRAMS += test_parse test_meta test_data
|
||||
|
||||
noinst_PROGRAMS =
|
||||
|
||||
TESTS += test_parse.sh test_meta.sh test_data.sh test_fillmismatch.sh test_raw.sh
|
||||
TESTS += test_parse.sh test_meta.sh test_data.sh test_raw.sh
|
||||
|
||||
# Note tst_curlopt.sh is intended to be run manually; see comments in file.
|
||||
# Note test_curlopt.sh is intended to be run manually; see comments in file.
|
||||
|
||||
# Note: This program name was changed to findtestserver4
|
||||
# to avoid cmake complaint about duplicate targets.
|
||||
noinst_PROGRAMS += findtestserver4 pingurl4
|
||||
noinst_PROGRAMS += findtestserver4 pingurl4 dump
|
||||
findtestserver4_SOURCES = findtestserver4.c
|
||||
pingurl4_SOURCES = pingurl4.c
|
||||
dump_SOURCES = dump.c
|
||||
|
||||
# Disable Dap4 Remote Tests until the test server is working
|
||||
if ENABLE_DAP_REMOTE_TESTS
|
||||
if BUILD_UTILITIES
|
||||
# relies on ncdump
|
||||
TESTS += test_hyrax.sh
|
||||
# TESTS += test_thredds.sh
|
||||
if AX_IGNORE
|
||||
TESTS += test_remote.sh
|
||||
endif
|
||||
if ENABLE_DAP_REMOTE_TESTS
|
||||
|
||||
TESTS += test_remote.sh
|
||||
TESTS += test_constraints.sh
|
||||
TESTS += test_hyrax.sh
|
||||
#TESTS += test_thredds.sh
|
||||
TESTS += test_dap4url.sh
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
EXTRA_DIST = test_parse.sh test_meta.sh test_data.sh \
|
||||
test_raw.sh test_remote.sh test_hyrax.sh test_thredds.sh test_fillmismatch.sh \
|
||||
tst_curlopt.sh d4test_common.sh \
|
||||
daptestfiles dmrtestfiles cdltestfiles nctestfiles misctestfiles \
|
||||
baseline baselineraw baselineremote baselinehyrax baselinethredds CMakeLists.txt test_common.h
|
||||
EXTRA_DIST = CMakeLists.txt test_common.h build.sh \
|
||||
d4manifest.sh d4test_common.sh \
|
||||
test_curlopt.sh test_data.sh test_hyrax.sh test_meta.sh \
|
||||
test_parse.sh test_raw.sh \
|
||||
test_remote.sh test_constraints.sh test_thredds.sh \
|
||||
test_dap4url.sh \
|
||||
cdltestfiles rawtestfiles \
|
||||
baseline baselineraw baselineremote baselinehyrax baselinethredds
|
||||
|
||||
CLEANFILES = *.exe
|
||||
# This should only be left behind if using parallel io
|
||||
@ -81,8 +86,9 @@ clean-local-check:
|
||||
|
||||
# The shell file maketests.sh is used to build the testdata
|
||||
# for dap4 testing. It creates and fills the directories
|
||||
# daptestfiles, dmrtestfiles, and cdltestfiles
|
||||
# daptestfiles, dmrtestfiles, and testsrc
|
||||
# As a rule, this will only be invoked if there was a change
|
||||
# in the GenerateRaw.java program in the thredds tree.
|
||||
maketests::
|
||||
bash ./maketests.sh
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
netcdf test_anon_dim.2.syn {
|
||||
dimensions:
|
||||
_Anonymous4 = 4 ;
|
||||
variables:
|
||||
int vu32(_Anonymous4) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/vu32[0:3]" ;
|
||||
data:
|
||||
|
||||
vu32 = -1169720286, -920699049, -2088732436, 1060190036 ;
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
netcdf test_anon_dim.2 {
|
||||
dimensions:
|
||||
_Anonymous4 = 4 ;
|
||||
variables:
|
||||
int vu32(_Anonymous4) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/vu32[0:3]" ;
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
<Dataset
|
||||
name="test_anon_dim.syn"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Dimensions>
|
||||
<Dimension name="_Anonymous4" size="4"/>
|
||||
</Dimensions>
|
||||
<Variables>
|
||||
<Int32 name="vu32">
|
||||
<Dim name="/_Anonymous4"/>
|
||||
</Int32>
|
||||
</Variables>
|
||||
<Attribute name="_dap4.ce" type="String">
|
||||
<Value value="/vu32[0:3]"/>
|
||||
</Attribute>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,11 +0,0 @@
|
||||
netcdf test_anon_dim.syn {
|
||||
dimensions:
|
||||
_Anonymous6 = 6 ;
|
||||
variables:
|
||||
int vu32(_Anonymous6) ;
|
||||
|
||||
data:
|
||||
|
||||
vu32 = -1169720286, -920699049, -2088732436, 1060190036, -1123468835,
|
||||
922940053 ;
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
netcdf test_anon_dim {
|
||||
dimensions:
|
||||
_Anonymous6 = 6 ;
|
||||
variables:
|
||||
int vu32(_Anonymous6) ;
|
||||
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
<Dataset
|
||||
name="test_anon_dim.syn"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Dimensions>
|
||||
<Dimension name="_Anonymous6" size="6"/>
|
||||
</Dimensions>
|
||||
<Variables>
|
||||
<Int32 name="vu32">
|
||||
<Dim name="/_Anonymous6"/>
|
||||
</Int32>
|
||||
</Variables>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,28 +0,0 @@
|
||||
netcdf test_atomic_array.5.nc {
|
||||
types:
|
||||
opaque(16) opaque16_t ;
|
||||
dimensions:
|
||||
_Anonymous1 = 1 ;
|
||||
_Anonymous2 = 2 ;
|
||||
variables:
|
||||
ubyte vu8(_Anonymous1, _Anonymous2) ;
|
||||
double vd(_Anonymous1) ;
|
||||
string vs(_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]" ;
|
||||
data:
|
||||
|
||||
vu8 =
|
||||
3, 5 ;
|
||||
|
||||
vd = 1024.8 ;
|
||||
|
||||
vs =
|
||||
"Καλημέα" ;
|
||||
|
||||
vo =
|
||||
0XABCDEF00000000000000000000000000 ;
|
||||
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
netcdf test_atomic_array.5 {
|
||||
types:
|
||||
opaque(8) opaque8_t ;
|
||||
dimensions:
|
||||
_Anonymous1 = 1 ;
|
||||
_Anonymous2 = 2 ;
|
||||
variables:
|
||||
ubyte vu8(_Anonymous1, _Anonymous2) ;
|
||||
double vd(_Anonymous1) ;
|
||||
string vs(_Anonymous1, _Anonymous1) ;
|
||||
opaque8_t vo(_Anonymous1, _Anonymous1) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/vu8[1][0:2:2];/vd[1];/vs[1][0];/vo[0][1]" ;
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
<Dataset
|
||||
name="test_atomic_array.nc"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Dimensions>
|
||||
<Dimension name="_Anonymous1" size="1"/>
|
||||
<Dimension name="_Anonymous2" size="2"/>
|
||||
</Dimensions>
|
||||
<Variables>
|
||||
<UInt8 name="vu8">
|
||||
<Dim name="/_Anonymous1"/>
|
||||
<Dim name="/_Anonymous2"/>
|
||||
</UInt8>
|
||||
<Float64 name="vd">
|
||||
<Dim name="/_Anonymous1"/>
|
||||
</Float64>
|
||||
<String name="vs">
|
||||
<Dim name="/_Anonymous1"/>
|
||||
<Dim name="/_Anonymous1"/>
|
||||
</String>
|
||||
<Opaque name="vo" type="/opaque8_t">
|
||||
<Dim name="/_Anonymous1"/>
|
||||
<Dim name="/_Anonymous1"/>
|
||||
</Opaque>
|
||||
</Variables>
|
||||
<Attribute name="_dap4.ce" type="String">
|
||||
<Value value="/vu8[1][0:2:2];/vd[1];/vs[1][0];/vo[0][1]"/>
|
||||
</Attribute>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,12 +0,0 @@
|
||||
netcdf test_atomic_array.8.nc {
|
||||
dimensions:
|
||||
_Anonymous3 = 3 ;
|
||||
variables:
|
||||
short v16(_Anonymous3) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/v16[0:1,3]" ;
|
||||
data:
|
||||
|
||||
v16 = 1, 2, 4 ;
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
netcdf test_atomic_array.8 {
|
||||
dimensions:
|
||||
_Anonymous3 = 3 ;
|
||||
variables:
|
||||
short v16(_Anonymous3) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/v16[0:1,3]" ;
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
<Dataset
|
||||
name="test_atomic_array.nc"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Dimensions>
|
||||
<Dimension name="_Anonymous3" size="3"/>
|
||||
</Dimensions>
|
||||
<Variables>
|
||||
<Int16 name="v16">
|
||||
<Dim name="/_Anonymous3"/>
|
||||
</Int16>
|
||||
</Variables>
|
||||
<Attribute name="_dap4.ce" type="String">
|
||||
<Value value="/v16[0:1,3]"/>
|
||||
</Attribute>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,12 +0,0 @@
|
||||
netcdf test_atomic_array.9.nc {
|
||||
dimensions:
|
||||
_Anonymous3 = 3 ;
|
||||
variables:
|
||||
short v16(_Anonymous3) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/v16[3,0:1]" ;
|
||||
data:
|
||||
|
||||
v16 = 4, 1, 2 ;
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
netcdf test_atomic_array.9 {
|
||||
dimensions:
|
||||
_Anonymous3 = 3 ;
|
||||
variables:
|
||||
short v16(_Anonymous3) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/v16[3,0:1]" ;
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
<Dataset
|
||||
name="test_atomic_array.nc"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Dimensions>
|
||||
<Dimension name="_Anonymous3" size="3"/>
|
||||
</Dimensions>
|
||||
<Variables>
|
||||
<Int16 name="v16">
|
||||
<Dim name="/_Anonymous3"/>
|
||||
</Int16>
|
||||
</Variables>
|
||||
<Attribute name="_dap4.ce" type="String">
|
||||
<Value value="/v16[3,0:1]"/>
|
||||
</Attribute>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,4 +1,4 @@
|
||||
netcdf test_atomic_array.nc {
|
||||
netcdf test_atomic_array {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Cumulonimbus = 1, Stratus = 2,
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
@ -21,7 +21,6 @@ variables:
|
||||
opaque16_t vo(d1, d2) ;
|
||||
cloud_class_t primary_cloud(d5) ;
|
||||
cloud_class_t primary_cloud:_FillValue = Missing ;
|
||||
|
||||
data:
|
||||
|
||||
vu8 =
|
||||
|
@ -4,7 +4,7 @@ types:
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
|
||||
Missing = 127} ;
|
||||
opaque(8) opaque8_t ;
|
||||
opaque(16) opaque16_t ;
|
||||
dimensions:
|
||||
d1 = 1 ;
|
||||
d2 = 2 ;
|
||||
@ -18,8 +18,7 @@ variables:
|
||||
double vd(d2) ;
|
||||
char vc(d2) ;
|
||||
string vs(d2, d2) ;
|
||||
opaque8_t vo(d1, d2) ;
|
||||
opaque16_t vo(d1, d2) ;
|
||||
cloud_class_t primary_cloud(d5) ;
|
||||
cloud_class_t primary_cloud:_FillValue = Missing ;
|
||||
|
||||
}
|
||||
|
@ -49,13 +49,13 @@
|
||||
<Dim name="/d2"/>
|
||||
<Dim name="/d2"/>
|
||||
</String>
|
||||
<Opaque name="vo" type="/opaque8_t">
|
||||
<Opaque name="vo" type="/opaque16_t">
|
||||
<Dim name="/d1"/>
|
||||
<Dim name="/d2"/>
|
||||
</Opaque>
|
||||
<Enum name="primary_cloud" enum="/cloud_class_t">
|
||||
<Dim name="/d5"/>
|
||||
<Attribute name="_FillValue" type="/cloud_class_t">
|
||||
<Attribute name="_FillValue" type="String">
|
||||
<Value value="Missing"/>
|
||||
</Attribute>
|
||||
</Enum>
|
||||
@ -63,4 +63,7 @@
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
||||
|
@ -1,51 +0,0 @@
|
||||
netcdf test_atomic_array.syn {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Cumulonimbus = 1, Stratus = 2,
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
|
||||
Missing = 127} ;
|
||||
opaque(16) opaque16_t ;
|
||||
dimensions:
|
||||
d1 = 1 ;
|
||||
d2 = 2 ;
|
||||
d3 = 3 ;
|
||||
d4 = 4 ;
|
||||
d5 = 5 ;
|
||||
variables:
|
||||
ubyte vu8(d2, d3) ;
|
||||
short v16(d4) ;
|
||||
uint vu32(d2, d3) ;
|
||||
double vd(d2) ;
|
||||
char vc(d2) ;
|
||||
string vs(d2, d2) ;
|
||||
opaque16_t vo(d1, d2) ;
|
||||
cloud_class_t primary_cloud(d5) ;
|
||||
cloud_class_t primary_cloud:_FillValue = Missing ;
|
||||
|
||||
data:
|
||||
|
||||
vu8 =
|
||||
186, 201, 131,
|
||||
63, 189, 55 ;
|
||||
|
||||
v16 = -341, -21899, -13413, -22144 ;
|
||||
|
||||
vu32 =
|
||||
2367803413, 3586730583, 511843988,
|
||||
3754752863, 2950934681, 2366232135 ;
|
||||
|
||||
vd = 0.217870081192792, 0.602450791996768 ;
|
||||
|
||||
vc = "CO" ;
|
||||
|
||||
vs =
|
||||
"{S", "gb8^OE$",
|
||||
"4a/q%n9;5Y", "{fIl?T\"\\A[" ;
|
||||
|
||||
vo =
|
||||
|
||||
0XA2177AA7287C04FA8BB57BCDF76EC80F, 0X34FA472AA9404DD543143CADED303A75 ;
|
||||
|
||||
primary_cloud = Stratus, Cirrocumulus, Nimbostratus, Cirrostratus,
|
||||
Stratocumulus ;
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
netcdf test_atomic_array {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Cumulonimbus = 1, Stratus = 2,
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
|
||||
Missing = 127} ;
|
||||
opaque(16) opaque16_t ;
|
||||
dimensions:
|
||||
d1 = 1 ;
|
||||
d2 = 2 ;
|
||||
d3 = 3 ;
|
||||
d4 = 4 ;
|
||||
d5 = 5 ;
|
||||
variables:
|
||||
ubyte vu8(d2, d3) ;
|
||||
short v16(d4) ;
|
||||
uint vu32(d2, d3) ;
|
||||
double vd(d2) ;
|
||||
char vc(d2) ;
|
||||
string vs(d2, d2) ;
|
||||
opaque16_t vo(d1, d2) ;
|
||||
cloud_class_t primary_cloud(d5) ;
|
||||
cloud_class_t primary_cloud:_FillValue = Missing ;
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
netcdf test_atomic_types.nc {
|
||||
netcdf test_atomic_types {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Cumulonimbus = 1, Stratus = 2,
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
@ -23,7 +23,6 @@ variables:
|
||||
cloud_class_t primary_cloud:_FillValue = Missing ;
|
||||
cloud_class_t secondary_cloud ;
|
||||
cloud_class_t secondary_cloud:_FillValue = Missing ;
|
||||
|
||||
data:
|
||||
|
||||
v8 = -128 ;
|
||||
|
@ -4,7 +4,7 @@ types:
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
|
||||
Missing = 127} ;
|
||||
opaque(8) opaque8_t ;
|
||||
opaque(16) opaque16_t ;
|
||||
variables:
|
||||
byte v8 ;
|
||||
ubyte vu8 ;
|
||||
@ -18,10 +18,9 @@ variables:
|
||||
double vd ;
|
||||
char vc ;
|
||||
string vs ;
|
||||
opaque8_t vo ;
|
||||
opaque16_t vo ;
|
||||
cloud_class_t primary_cloud ;
|
||||
cloud_class_t primary_cloud:_FillValue = Missing ;
|
||||
cloud_class_t secondary_cloud ;
|
||||
cloud_class_t secondary_cloud:_FillValue = Missing ;
|
||||
|
||||
}
|
||||
|
@ -33,14 +33,14 @@
|
||||
<Float64 name="vd"/>
|
||||
<Char name="vc"/>
|
||||
<String name="vs"/>
|
||||
<Opaque name="vo" type="/opaque8_t"/>
|
||||
<Opaque name="vo" type="/opaque16_t"/>
|
||||
<Enum name="primary_cloud" enum="/cloud_class_t">
|
||||
<Attribute name="_FillValue" type="/cloud_class_t">
|
||||
<Attribute name="_FillValue" type="String">
|
||||
<Value value="Missing"/>
|
||||
</Attribute>
|
||||
</Enum>
|
||||
<Enum name="secondary_cloud" enum="/cloud_class_t">
|
||||
<Attribute name="_FillValue" type="/cloud_class_t">
|
||||
<Attribute name="_FillValue" type="String">
|
||||
<Value value="Missing"/>
|
||||
</Attribute>
|
||||
</Enum>
|
||||
@ -48,4 +48,7 @@
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
||||
|
@ -1,58 +0,0 @@
|
||||
netcdf test_atomic_types.syn {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Cumulonimbus = 1, Stratus = 2,
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
|
||||
Missing = 127} ;
|
||||
opaque(16) opaque16_t ;
|
||||
variables:
|
||||
byte v8 ;
|
||||
ubyte vu8 ;
|
||||
short v16 ;
|
||||
ushort vu16 ;
|
||||
int v32 ;
|
||||
uint vu32 ;
|
||||
int64 v64 ;
|
||||
uint64 vu64 ;
|
||||
float vf ;
|
||||
double vd ;
|
||||
char vc ;
|
||||
string vs ;
|
||||
opaque16_t vo ;
|
||||
cloud_class_t primary_cloud ;
|
||||
cloud_class_t primary_cloud:_FillValue = Missing ;
|
||||
cloud_class_t secondary_cloud ;
|
||||
cloud_class_t secondary_cloud:_FillValue = Missing ;
|
||||
|
||||
data:
|
||||
|
||||
v8 = 58 ;
|
||||
|
||||
vu8 = 201 ;
|
||||
|
||||
v16 = 896 ;
|
||||
|
||||
vu16 = 16177 ;
|
||||
|
||||
v32 = -1123468835 ;
|
||||
|
||||
vu32 = 2125143125 ;
|
||||
|
||||
v64 = 3059391736915381031 ;
|
||||
|
||||
vu64 = 11577488182652895291 ;
|
||||
|
||||
vf = 0.5512972 ;
|
||||
|
||||
vd = 0.790267301128816 ;
|
||||
|
||||
vc = "*" ;
|
||||
|
||||
vs = "O,L?c8A%V" ;
|
||||
|
||||
vo = 0X46F169EF23CBAF9B1FEBD99E4E16CEC9 ;
|
||||
|
||||
primary_cloud = Altocumulus ;
|
||||
|
||||
secondary_cloud = Stratocumulus ;
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
netcdf test_atomic_types {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Cumulonimbus = 1, Stratus = 2,
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
|
||||
Missing = 127} ;
|
||||
opaque(16) opaque16_t ;
|
||||
variables:
|
||||
byte v8 ;
|
||||
ubyte vu8 ;
|
||||
short v16 ;
|
||||
ushort vu16 ;
|
||||
int v32 ;
|
||||
uint vu32 ;
|
||||
int64 v64 ;
|
||||
uint64 vu64 ;
|
||||
float vf ;
|
||||
double vd ;
|
||||
char vc ;
|
||||
string vs ;
|
||||
opaque16_t vo ;
|
||||
cloud_class_t primary_cloud ;
|
||||
cloud_class_t primary_cloud:_FillValue = Missing ;
|
||||
cloud_class_t secondary_cloud ;
|
||||
cloud_class_t secondary_cloud:_FillValue = Missing ;
|
||||
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
<Dataset
|
||||
name="test_atomic_types.syn"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Types>
|
||||
<Enumeration name="cloud_class_t" basetype="Int8">
|
||||
<EnumConst name="Clear" value="0"/>
|
||||
<EnumConst name="Cumulonimbus" value="1"/>
|
||||
<EnumConst name="Stratus" value="2"/>
|
||||
<EnumConst name="Stratocumulus" value="3"/>
|
||||
<EnumConst name="Cumulus" value="4"/>
|
||||
<EnumConst name="Altostratus" value="5"/>
|
||||
<EnumConst name="Nimbostratus" value="6"/>
|
||||
<EnumConst name="Altocumulus" value="7"/>
|
||||
<EnumConst name="Cirrostratus" value="8"/>
|
||||
<EnumConst name="Cirrocumulus" value="9"/>
|
||||
<EnumConst name="Cirrus" value="10"/>
|
||||
<EnumConst name="Missing" value="127"/>
|
||||
</Enumeration>
|
||||
</Types>
|
||||
<Variables>
|
||||
<Int8 name="v8"/>
|
||||
<UInt8 name="vu8"/>
|
||||
<Int16 name="v16"/>
|
||||
<UInt16 name="vu16"/>
|
||||
<Int32 name="v32"/>
|
||||
<UInt32 name="vu32"/>
|
||||
<Int64 name="v64"/>
|
||||
<UInt64 name="vu64"/>
|
||||
<Float32 name="vf"/>
|
||||
<Float64 name="vd"/>
|
||||
<Char name="vc"/>
|
||||
<String name="vs"/>
|
||||
<Opaque name="vo" type="/opaque16_t"/>
|
||||
<Enum name="primary_cloud" enum="/cloud_class_t">
|
||||
<Attribute name="_FillValue" type="/cloud_class_t">
|
||||
<Value value="Missing"/>
|
||||
</Attribute>
|
||||
</Enum>
|
||||
<Enum name="secondary_cloud" enum="/cloud_class_t">
|
||||
<Attribute name="_FillValue" type="/cloud_class_t">
|
||||
<Value value="Missing"/>
|
||||
</Attribute>
|
||||
</Enum>
|
||||
</Variables>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,4 +1,4 @@
|
||||
netcdf test_enum {
|
||||
netcdf test_enum_1 {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Cumulonimbus = 1, Stratus = 2,
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
@ -7,7 +7,6 @@ types:
|
||||
variables:
|
||||
cloud_class_t primary_cloud ;
|
||||
cloud_class_t primary_cloud:_FillValue = Missing ;
|
||||
|
||||
data:
|
||||
|
||||
primary_cloud = Stratus ;
|
@ -1,4 +1,4 @@
|
||||
netcdf test_enum {
|
||||
netcdf test_enum_1 {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Cumulonimbus = 1, Stratus = 2,
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
@ -7,5 +7,4 @@ types:
|
||||
variables:
|
||||
cloud_class_t primary_cloud ;
|
||||
cloud_class_t primary_cloud:_FillValue = Missing ;
|
||||
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
<Dataset
|
||||
name="test_enum.nc"
|
||||
name="test_enum_1.nc"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
@ -22,7 +22,7 @@
|
||||
</Types>
|
||||
<Variables>
|
||||
<Enum name="primary_cloud" enum="/cloud_class_t">
|
||||
<Attribute name="_FillValue" type="/cloud_class_t">
|
||||
<Attribute name="_FillValue" type="String">
|
||||
<Value value="Missing"/>
|
||||
</Attribute>
|
||||
</Enum>
|
||||
@ -30,4 +30,7 @@
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,11 +1,10 @@
|
||||
netcdf test_enum_2.nc {
|
||||
netcdf test_enum_2 {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Cumulonimbus = 1, Stratus = 2,
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
|
||||
Missing = 127} ;
|
||||
|
||||
|
||||
group: h {
|
||||
variables:
|
||||
cloud_class_t primary_cloud ;
|
||||
|
@ -5,7 +5,6 @@ types:
|
||||
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
|
||||
Missing = 127} ;
|
||||
|
||||
|
||||
group: h {
|
||||
variables:
|
||||
cloud_class_t primary_cloud ;
|
||||
|
@ -23,11 +23,14 @@
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
<Groups>
|
||||
<Group name="h">
|
||||
<Variables>
|
||||
<Enum name="primary_cloud" enum="/cloud_class_t">
|
||||
<Attribute name="_FillValue" type="/cloud_class_t">
|
||||
<Attribute name="_FillValue" type="String">
|
||||
<Value value="Missing"/>
|
||||
</Attribute>
|
||||
</Enum>
|
||||
|
12
dap4_test/baseline/test_enum_3.nc.d4d
Normal file
12
dap4_test/baseline/test_enum_3.nc.d4d
Normal file
@ -0,0 +1,12 @@
|
||||
netcdf test_enum_3 {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Stratus = 1, Missing = 127} ;
|
||||
|
||||
group: h {
|
||||
variables:
|
||||
cloud_class_t primary_cloud ;
|
||||
data:
|
||||
|
||||
primary_cloud = Stratus ;
|
||||
} // group h
|
||||
}
|
9
dap4_test/baseline/test_enum_3.nc.d4m
Normal file
9
dap4_test/baseline/test_enum_3.nc.d4m
Normal file
@ -0,0 +1,9 @@
|
||||
netcdf test_enum_3 {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Stratus = 1, Missing = 127} ;
|
||||
|
||||
group: h {
|
||||
variables:
|
||||
cloud_class_t primary_cloud ;
|
||||
} // group h
|
||||
}
|
27
dap4_test/baseline/test_enum_3.nc.d4p
Normal file
27
dap4_test/baseline/test_enum_3.nc.d4p
Normal file
@ -0,0 +1,27 @@
|
||||
<Dataset
|
||||
name="test_enum_3.nc"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Types>
|
||||
<Enumeration name="cloud_class_t" basetype="Int8">
|
||||
<EnumConst name="Clear" value="0"/>
|
||||
<EnumConst name="Stratus" value="1"/>
|
||||
<EnumConst name="Missing" value="127"/>
|
||||
</Enumeration>
|
||||
</Types>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
<Groups>
|
||||
<Group name="h">
|
||||
<Variables>
|
||||
<Enum name="primary_cloud" enum="/cloud_class_t"/>
|
||||
</Variables>
|
||||
</Group>
|
||||
</Groups>
|
||||
</Dataset>
|
@ -1,18 +0,0 @@
|
||||
netcdf test_enum_array.4.nc {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Cumulonimbus = 1, Stratus = 2,
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
|
||||
Missing = 127} ;
|
||||
dimensions:
|
||||
_Anonymous2 = 2 ;
|
||||
variables:
|
||||
cloud_class_t primary_cloud(_Anonymous2) ;
|
||||
cloud_class_t primary_cloud:_FillValue = Missing ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/primary_cloud[1:2:4]" ;
|
||||
data:
|
||||
|
||||
primary_cloud = Stratus, Cumulonimbus ;
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
<Dataset
|
||||
name="test_enum_array.nc"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Dimensions>
|
||||
<Dimension name="_Anonymous2" size="2"/>
|
||||
</Dimensions>
|
||||
<Types>
|
||||
<Enumeration name="cloud_class_t" basetype="Int8">
|
||||
<EnumConst name="Clear" value="0"/>
|
||||
<EnumConst name="Cumulonimbus" value="1"/>
|
||||
<EnumConst name="Stratus" value="2"/>
|
||||
<EnumConst name="Stratocumulus" value="3"/>
|
||||
<EnumConst name="Cumulus" value="4"/>
|
||||
<EnumConst name="Altostratus" value="5"/>
|
||||
<EnumConst name="Nimbostratus" value="6"/>
|
||||
<EnumConst name="Altocumulus" value="7"/>
|
||||
<EnumConst name="Cirrostratus" value="8"/>
|
||||
<EnumConst name="Cirrocumulus" value="9"/>
|
||||
<EnumConst name="Cirrus" value="10"/>
|
||||
<EnumConst name="Missing" value="127"/>
|
||||
</Enumeration>
|
||||
</Types>
|
||||
<Variables>
|
||||
<Enum name="primary_cloud" enum="/cloud_class_t">
|
||||
<Dim name="/_Anonymous2"/>
|
||||
<Attribute name="_FillValue" type="/cloud_class_t">
|
||||
<Value value="Missing"/>
|
||||
</Attribute>
|
||||
</Enum>
|
||||
</Variables>
|
||||
<Attribute name="_dap4.ce" type="String">
|
||||
<Value value="/primary_cloud[1:2:4]"/>
|
||||
</Attribute>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,4 +1,4 @@
|
||||
netcdf test_enum_array.nc {
|
||||
netcdf test_enum_array {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Cumulonimbus = 1, Stratus = 2,
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
@ -9,7 +9,6 @@ dimensions:
|
||||
variables:
|
||||
cloud_class_t primary_cloud(d5) ;
|
||||
cloud_class_t primary_cloud:_FillValue = Missing ;
|
||||
|
||||
data:
|
||||
|
||||
primary_cloud = Clear, Stratus, Clear, Cumulonimbus, _ ;
|
||||
|
@ -9,5 +9,4 @@ dimensions:
|
||||
variables:
|
||||
cloud_class_t primary_cloud(d5) ;
|
||||
cloud_class_t primary_cloud:_FillValue = Missing ;
|
||||
|
||||
}
|
||||
|
@ -26,7 +26,7 @@
|
||||
<Variables>
|
||||
<Enum name="primary_cloud" enum="/cloud_class_t">
|
||||
<Dim name="/d5"/>
|
||||
<Attribute name="_FillValue" type="/cloud_class_t">
|
||||
<Attribute name="_FillValue" type="String">
|
||||
<Value value="Missing"/>
|
||||
</Attribute>
|
||||
</Enum>
|
||||
@ -34,4 +34,7 @@
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
||||
|
@ -1,10 +1,9 @@
|
||||
netcdf test_fill.nc {
|
||||
netcdf test_fill {
|
||||
variables:
|
||||
ubyte uv8 ;
|
||||
short v16 ;
|
||||
uint uv32 ;
|
||||
uv32:_FillValue = 17U ;
|
||||
|
||||
int uv32 ;
|
||||
int uv32:_FillValue = 17 ;
|
||||
data:
|
||||
|
||||
uv8 = 240 ;
|
||||
|
@ -2,7 +2,6 @@ netcdf test_fill {
|
||||
variables:
|
||||
ubyte uv8 ;
|
||||
short v16 ;
|
||||
uint uv32 ;
|
||||
uv32:_FillValue = 17U ;
|
||||
|
||||
int uv32 ;
|
||||
int uv32:_FillValue = 17 ;
|
||||
}
|
||||
|
@ -7,13 +7,16 @@
|
||||
<Variables>
|
||||
<UInt8 name="uv8"/>
|
||||
<Int16 name="v16"/>
|
||||
<UInt32 name="uv32">
|
||||
<Attribute name="_FillValue" type="UInt32">
|
||||
<Int32 name="uv32">
|
||||
<Attribute name="_FillValue" type="Int32">
|
||||
<Value value="17"/>
|
||||
</Attribute>
|
||||
</UInt32>
|
||||
</Int32>
|
||||
</Variables>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
||||
|
27
dap4_test/baseline/test_fill_2.nc.d4d
Normal file
27
dap4_test/baseline/test_fill_2.nc.d4d
Normal file
@ -0,0 +1,27 @@
|
||||
netcdf test_fill_2 {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Cumulonimbus = 1, Stratus = 2,
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
|
||||
Missing = 127} ;
|
||||
dimensions:
|
||||
d2 = 2 ;
|
||||
variables:
|
||||
cloud_class_t enumvar(d2) ;
|
||||
cloud_class_t enumvar:_FillValue = Missing ;
|
||||
int uv32(d2) ;
|
||||
int uv32:_FillValue = 17 ;
|
||||
ubyte uv8(d2) ;
|
||||
ubyte uv8:_FillValue = 120UB ;
|
||||
short v16(d2) ;
|
||||
short v16:_FillValue = -37s ;
|
||||
data:
|
||||
|
||||
enumvar = Stratus, _ ;
|
||||
|
||||
uv32 = 111000, _ ;
|
||||
|
||||
uv8 = 240, _ ;
|
||||
|
||||
v16 = 32700, _ ;
|
||||
}
|
@ -1,15 +1,18 @@
|
||||
netcdf test_enum_array.4 {
|
||||
netcdf test_fill_2 {
|
||||
types:
|
||||
byte enum cloud_class_t {Clear = 0, Cumulonimbus = 1, Stratus = 2,
|
||||
Stratocumulus = 3, Cumulus = 4, Altostratus = 5, Nimbostratus = 6,
|
||||
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
|
||||
Missing = 127} ;
|
||||
dimensions:
|
||||
_Anonymous2 = 2 ;
|
||||
d2 = 2 ;
|
||||
variables:
|
||||
cloud_class_t primary_cloud(_Anonymous2) ;
|
||||
cloud_class_t primary_cloud:_FillValue = Missing ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/primary_cloud[1:2:4]" ;
|
||||
cloud_class_t enumvar(d2) ;
|
||||
cloud_class_t enumvar:_FillValue = Missing ;
|
||||
int uv32(d2) ;
|
||||
int uv32:_FillValue = 17 ;
|
||||
ubyte uv8(d2) ;
|
||||
ubyte uv8:_FillValue = 120UB ;
|
||||
short v16(d2) ;
|
||||
short v16:_FillValue = -37s ;
|
||||
}
|
@ -1,15 +1,11 @@
|
||||
<Dataset
|
||||
name="test_atomic_array.syn"
|
||||
name="test_fill_2.nc"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Dimensions>
|
||||
<Dimension name="d1" size="1"/>
|
||||
<Dimension name="d2" size="2"/>
|
||||
<Dimension name="d3" size="3"/>
|
||||
<Dimension name="d4" size="4"/>
|
||||
<Dimension name="d5" size="5"/>
|
||||
</Dimensions>
|
||||
<Types>
|
||||
<Enumeration name="cloud_class_t" basetype="Int8">
|
||||
@ -28,39 +24,35 @@
|
||||
</Enumeration>
|
||||
</Types>
|
||||
<Variables>
|
||||
<UInt8 name="vu8">
|
||||
<Enum name="enumvar" enum="/cloud_class_t">
|
||||
<Dim name="/d2"/>
|
||||
<Dim name="/d3"/>
|
||||
</UInt8>
|
||||
<Int16 name="v16">
|
||||
<Dim name="/d4"/>
|
||||
</Int16>
|
||||
<UInt32 name="vu32">
|
||||
<Dim name="/d2"/>
|
||||
<Dim name="/d3"/>
|
||||
</UInt32>
|
||||
<Float64 name="vd">
|
||||
<Dim name="/d2"/>
|
||||
</Float64>
|
||||
<Char name="vc">
|
||||
<Dim name="/d2"/>
|
||||
</Char>
|
||||
<String name="vs">
|
||||
<Dim name="/d2"/>
|
||||
<Dim name="/d2"/>
|
||||
</String>
|
||||
<Opaque name="vo" type="/opaque16_t">
|
||||
<Dim name="/d1"/>
|
||||
<Dim name="/d2"/>
|
||||
</Opaque>
|
||||
<Enum name="primary_cloud" enum="/cloud_class_t">
|
||||
<Dim name="/d5"/>
|
||||
<Attribute name="_FillValue" type="/cloud_class_t">
|
||||
<Attribute name="_FillValue" type="String">
|
||||
<Value value="Missing"/>
|
||||
</Attribute>
|
||||
</Enum>
|
||||
<Int32 name="uv32">
|
||||
<Dim name="/d2"/>
|
||||
<Attribute name="_FillValue" type="Int32">
|
||||
<Value value="17"/>
|
||||
</Attribute>
|
||||
</Int32>
|
||||
<UInt8 name="uv8">
|
||||
<Dim name="/d2"/>
|
||||
<Attribute name="_FillValue" type="UInt8">
|
||||
<Value value="120"/>
|
||||
</Attribute>
|
||||
</UInt8>
|
||||
<Int16 name="v16">
|
||||
<Dim name="/d2"/>
|
||||
<Attribute name="_FillValue" type="Int16">
|
||||
<Value value="-37"/>
|
||||
</Attribute>
|
||||
</Int16>
|
||||
</Variables>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.2-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,8 +1,7 @@
|
||||
netcdf test_groups1.nc {
|
||||
netcdf test_groups1 {
|
||||
dimensions:
|
||||
dim1 = 5 ;
|
||||
|
||||
|
||||
group: g {
|
||||
dimensions:
|
||||
dim2 = 3 ;
|
||||
|
@ -2,7 +2,6 @@ netcdf test_groups1 {
|
||||
dimensions:
|
||||
dim1 = 5 ;
|
||||
|
||||
|
||||
group: g {
|
||||
dimensions:
|
||||
dim2 = 3 ;
|
||||
|
@ -10,6 +10,9 @@
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
<Groups>
|
||||
<Group name="g">
|
||||
<Dimensions>
|
||||
|
24
dap4_test/baseline/test_misc1.nc.d4d
Normal file
24
dap4_test/baseline/test_misc1.nc.d4d
Normal file
@ -0,0 +1,24 @@
|
||||
netcdf test_misc1 {
|
||||
dimensions:
|
||||
lon = 4 ;
|
||||
time = UNLIMITED ; // (0 currently)
|
||||
lat = 6 ;
|
||||
unlim = UNLIMITED ; // (3 currently)
|
||||
variables:
|
||||
float var(unlim) ;
|
||||
var:_ChunkSizes = 1024U ;
|
||||
float lon(lon) ;
|
||||
string lon:units = "degrees_east" ;
|
||||
float lat(lat) ;
|
||||
string lat:units = "degrees_north" ;
|
||||
|
||||
// global attributes:
|
||||
string :title = "example for workshop" ;
|
||||
data:
|
||||
|
||||
var = 0, 1, 3 ;
|
||||
|
||||
lon = _, _, _, _ ;
|
||||
|
||||
lat = _, _, _, _, _, _ ;
|
||||
}
|
17
dap4_test/baseline/test_misc1.nc.d4m
Normal file
17
dap4_test/baseline/test_misc1.nc.d4m
Normal file
@ -0,0 +1,17 @@
|
||||
netcdf test_misc1 {
|
||||
dimensions:
|
||||
lon = 4 ;
|
||||
time = UNLIMITED ; // (0 currently)
|
||||
lat = 6 ;
|
||||
unlim = UNLIMITED ; // (0 currently)
|
||||
variables:
|
||||
float var(unlim) ;
|
||||
var:_ChunkSizes = 1024U ;
|
||||
float lon(lon) ;
|
||||
string lon:units = "degrees_east" ;
|
||||
float lat(lat) ;
|
||||
string lat:units = "degrees_north" ;
|
||||
|
||||
// global attributes:
|
||||
string :title = "example for workshop" ;
|
||||
}
|
42
dap4_test/baseline/test_misc1.nc.d4p
Normal file
42
dap4_test/baseline/test_misc1.nc.d4p
Normal file
@ -0,0 +1,42 @@
|
||||
<Dataset
|
||||
name="test_misc1.nc"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Dimensions>
|
||||
<Dimension name="lon" size="4"/>
|
||||
<Dimension name="time" size="0" _edu.ucar.isunlimited="1"/>
|
||||
<Dimension name="lat" size="6"/>
|
||||
<Dimension name="unlim" size="3" _edu.ucar.isunlimited="1"/>
|
||||
</Dimensions>
|
||||
<Variables>
|
||||
<Float32 name="var">
|
||||
<Dim name="/unlim"/>
|
||||
<Attribute name="_ChunkSizes" type="UInt32">
|
||||
<Value value="1024"/>
|
||||
</Attribute>
|
||||
</Float32>
|
||||
<Float32 name="lon">
|
||||
<Dim name="/lon"/>
|
||||
<Attribute name="units" type="String">
|
||||
<Value value="degrees_east"/>
|
||||
</Attribute>
|
||||
</Float32>
|
||||
<Float32 name="lat">
|
||||
<Dim name="/lat"/>
|
||||
<Attribute name="units" type="String">
|
||||
<Value value="degrees_north"/>
|
||||
</Attribute>
|
||||
</Float32>
|
||||
</Variables>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="title" type="String">
|
||||
<Value value="example for workshop"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,7 +1,6 @@
|
||||
netcdf test_one_var.nc {
|
||||
netcdf test_one_var {
|
||||
variables:
|
||||
int t ;
|
||||
|
||||
data:
|
||||
|
||||
t = 17 ;
|
||||
|
@ -1,5 +1,4 @@
|
||||
netcdf test_one_var {
|
||||
variables:
|
||||
int t ;
|
||||
|
||||
}
|
||||
|
@ -10,4 +10,7 @@
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
||||
|
@ -1,12 +0,0 @@
|
||||
netcdf test_one_vararray.1.nc {
|
||||
dimensions:
|
||||
_Anonymous1 = 1 ;
|
||||
variables:
|
||||
int t(_Anonymous1) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/t[1]" ;
|
||||
data:
|
||||
|
||||
t = 37 ;
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
netcdf test_one_vararray.1 {
|
||||
dimensions:
|
||||
_Anonymous1 = 1 ;
|
||||
variables:
|
||||
int t(_Anonymous1) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/t[1]" ;
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
<Dataset
|
||||
name="test_one_vararray.nc"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Dimensions>
|
||||
<Dimension name="_Anonymous1" size="1"/>
|
||||
</Dimensions>
|
||||
<Variables>
|
||||
<Int32 name="t">
|
||||
<Dim name="/_Anonymous1"/>
|
||||
</Int32>
|
||||
</Variables>
|
||||
<Attribute name="_dap4.ce" type="String">
|
||||
<Value value="/t[1]"/>
|
||||
</Attribute>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,12 +0,0 @@
|
||||
netcdf test_one_vararray.3.nc {
|
||||
dimensions:
|
||||
d2 = 2 ;
|
||||
variables:
|
||||
int t(d2) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/t[0:1]" ;
|
||||
data:
|
||||
|
||||
t = 17, 37 ;
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
netcdf test_one_vararray.3 {
|
||||
dimensions:
|
||||
d2 = 2 ;
|
||||
variables:
|
||||
int t(d2) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/t[0:1]" ;
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
<Dataset
|
||||
name="test_one_vararray.nc"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Dimensions>
|
||||
<Dimension name="d2" size="2"/>
|
||||
</Dimensions>
|
||||
<Variables>
|
||||
<Int32 name="t">
|
||||
<Dim name="/d2"/>
|
||||
</Int32>
|
||||
</Variables>
|
||||
<Attribute name="_dap4.ce" type="String">
|
||||
<Value value="/t[0:1]"/>
|
||||
</Attribute>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,9 +1,8 @@
|
||||
netcdf test_one_vararray.nc {
|
||||
netcdf test_one_vararray {
|
||||
dimensions:
|
||||
d2 = 2 ;
|
||||
variables:
|
||||
int t(d2) ;
|
||||
|
||||
data:
|
||||
|
||||
t = 17, 37 ;
|
||||
|
@ -3,5 +3,4 @@ dimensions:
|
||||
d2 = 2 ;
|
||||
variables:
|
||||
int t(d2) ;
|
||||
|
||||
}
|
||||
|
@ -15,4 +15,7 @@
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
||||
|
@ -1,9 +1,8 @@
|
||||
netcdf test_opaque.nc {
|
||||
netcdf test_opaque {
|
||||
types:
|
||||
opaque(16) opaque16_t ;
|
||||
variables:
|
||||
opaque16_t vo1 ;
|
||||
|
||||
data:
|
||||
|
||||
vo1 = 0X0123456789ABCDEF0000000000000000 ;
|
||||
|
@ -1,7 +1,6 @@
|
||||
netcdf test_opaque {
|
||||
types:
|
||||
opaque(8) opaque8_t ;
|
||||
opaque(16) opaque16_t ;
|
||||
variables:
|
||||
opaque8_t vo1 ;
|
||||
|
||||
opaque16_t vo1 ;
|
||||
}
|
||||
|
@ -5,9 +5,12 @@
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Variables>
|
||||
<Opaque name="vo1" type="/opaque8_t"/>
|
||||
<Opaque name="vo1" type="/opaque16_t"/>
|
||||
</Variables>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
||||
|
@ -1,16 +0,0 @@
|
||||
netcdf test_opaque_array.7.nc {
|
||||
types:
|
||||
opaque(16) opaque16_t ;
|
||||
dimensions:
|
||||
_Anonymous1 = 1 ;
|
||||
_Anonymous2 = 2 ;
|
||||
variables:
|
||||
opaque16_t vo2(_Anonymous1, _Anonymous2) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/vo2[1][0:1]" ;
|
||||
data:
|
||||
|
||||
vo2 =
|
||||
0XFEDCBA98765432100000000000000000, 0XFEDCBA99999999990000000000000000 ;
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
netcdf test_opaque_array.7 {
|
||||
types:
|
||||
opaque(8) opaque8_t ;
|
||||
dimensions:
|
||||
_Anonymous1 = 1 ;
|
||||
_Anonymous2 = 2 ;
|
||||
variables:
|
||||
opaque8_t vo2(_Anonymous1, _Anonymous2) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/vo2[1][0:1]" ;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
<Dataset
|
||||
name="test_opaque_array.nc"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Dimensions>
|
||||
<Dimension name="_Anonymous1" size="1"/>
|
||||
<Dimension name="_Anonymous2" size="2"/>
|
||||
</Dimensions>
|
||||
<Variables>
|
||||
<Opaque name="vo2" type="/opaque8_t">
|
||||
<Dim name="/_Anonymous1"/>
|
||||
<Dim name="/_Anonymous2"/>
|
||||
</Opaque>
|
||||
</Variables>
|
||||
<Attribute name="_dap4.ce" type="String">
|
||||
<Value value="/vo2[1][0:1]"/>
|
||||
</Attribute>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,11 +1,10 @@
|
||||
netcdf test_opaque_array.nc {
|
||||
netcdf test_opaque_array {
|
||||
types:
|
||||
opaque(16) opaque16_t ;
|
||||
dimensions:
|
||||
d2 = 2 ;
|
||||
variables:
|
||||
opaque16_t vo2(d2, d2) ;
|
||||
|
||||
data:
|
||||
|
||||
vo2 =
|
||||
|
@ -1,9 +1,8 @@
|
||||
netcdf test_opaque_array {
|
||||
types:
|
||||
opaque(8) opaque8_t ;
|
||||
opaque(16) opaque16_t ;
|
||||
dimensions:
|
||||
d2 = 2 ;
|
||||
variables:
|
||||
opaque8_t vo2(d2, d2) ;
|
||||
|
||||
opaque16_t vo2(d2, d2) ;
|
||||
}
|
||||
|
@ -8,7 +8,7 @@
|
||||
<Dimension name="d2" size="2"/>
|
||||
</Dimensions>
|
||||
<Variables>
|
||||
<Opaque name="vo2" type="/opaque8_t">
|
||||
<Opaque name="vo2" type="/opaque16_t">
|
||||
<Dim name="/d2"/>
|
||||
<Dim name="/d2"/>
|
||||
</Opaque>
|
||||
@ -16,4 +16,7 @@
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
||||
|
@ -1,14 +0,0 @@
|
||||
netcdf test_sequence_1.syn {
|
||||
types:
|
||||
compound s_base_t {
|
||||
int i1 ;
|
||||
short sh1 ;
|
||||
}; // s_base_t
|
||||
s_base_t(*) s_t ;
|
||||
variables:
|
||||
s_t s ;
|
||||
|
||||
data:
|
||||
|
||||
s = {{-920699049, 896}} ;
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
netcdf test_sequence_1 {
|
||||
types:
|
||||
compound s_base_t {
|
||||
int i1 ;
|
||||
short sh1 ;
|
||||
}; // s_base_t
|
||||
s_base_t(*) s_t ;
|
||||
variables:
|
||||
s_t s ;
|
||||
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
<Dataset
|
||||
name="test_sequence_1.syn"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Types>
|
||||
<Structure name="s_base">
|
||||
<Int32 name="i1"/>
|
||||
<Int16 name="sh1"/>
|
||||
</Structure>
|
||||
<Vlen name="s_t" type="/s_base"/>
|
||||
</Types>
|
||||
<Variables>
|
||||
<Seq name="s" type="/s_t"/>
|
||||
</Variables>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,17 +0,0 @@
|
||||
netcdf test_sequence_2.syn {
|
||||
types:
|
||||
compound s_base_t {
|
||||
int i1 ;
|
||||
short sh1 ;
|
||||
}; // s_base_t
|
||||
s_base_t(*) s_t ;
|
||||
dimensions:
|
||||
_Anonymous2 = 2 ;
|
||||
variables:
|
||||
s_t s(_Anonymous2) ;
|
||||
|
||||
data:
|
||||
|
||||
s = {{-920699049, 896}},
|
||||
{{-1123468835, -18686}, {2125143125, -21899}, {1268468519, -22144}, {989876086, 3361}} ;
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
netcdf test_sequence_2 {
|
||||
types:
|
||||
compound s_base_t {
|
||||
int i1 ;
|
||||
short sh1 ;
|
||||
}; // s_base_t
|
||||
s_base_t(*) s_t ;
|
||||
dimensions:
|
||||
_Anonymous2 = 2 ;
|
||||
variables:
|
||||
s_t s(_Anonymous2) ;
|
||||
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
<Dataset
|
||||
name="test_sequence_2.syn"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Dimensions>
|
||||
<Dimension name="_Anonymous2" size="2"/>
|
||||
</Dimensions>
|
||||
<Types>
|
||||
<Structure name="s_base">
|
||||
<Int32 name="i1"/>
|
||||
<Int16 name="sh1"/>
|
||||
</Structure>
|
||||
<Vlen name="s_t" type="/s_base"/>
|
||||
</Types>
|
||||
<Variables>
|
||||
<Seq name="s" type="/s_t">
|
||||
<Dim name="/_Anonymous2"/>
|
||||
</Sequence>
|
||||
</Variables>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,4 +1,4 @@
|
||||
netcdf test_struct1.nc {
|
||||
netcdf test_struct1 {
|
||||
types:
|
||||
compound s_t {
|
||||
int x ;
|
||||
@ -6,7 +6,6 @@ types:
|
||||
}; // s_t
|
||||
variables:
|
||||
s_t s ;
|
||||
|
||||
data:
|
||||
|
||||
s = {1, -2} ;
|
||||
|
@ -6,5 +6,4 @@ types:
|
||||
}; // s_t
|
||||
variables:
|
||||
s_t s ;
|
||||
|
||||
}
|
||||
|
@ -16,4 +16,7 @@
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
||||
|
@ -1,19 +0,0 @@
|
||||
netcdf test_struct_array.6.nc {
|
||||
types:
|
||||
compound s_t {
|
||||
int x ;
|
||||
int y ;
|
||||
}; // s_t
|
||||
dimensions:
|
||||
_Anonymous2 = 2 ;
|
||||
variables:
|
||||
s_t s(_Anonymous2, _Anonymous2) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/s[0:2:3][0:1]" ;
|
||||
data:
|
||||
|
||||
s =
|
||||
{1, -1}, {17, 37},
|
||||
{-4, 12}, {-8, 8} ;
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
netcdf test_struct_array.6 {
|
||||
types:
|
||||
compound s_t {
|
||||
int x ;
|
||||
int y ;
|
||||
}; // s_t
|
||||
dimensions:
|
||||
_Anonymous2 = 2 ;
|
||||
variables:
|
||||
s_t s(_Anonymous2, _Anonymous2) ;
|
||||
|
||||
// global attributes:
|
||||
string :_dap4.ce = "/s[0:2:3][0:1]" ;
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
<Dataset
|
||||
name="test_struct_array.nc"
|
||||
dapVersion="4.0"
|
||||
dmrVersion="1.0"
|
||||
xmlns="http://xml.opendap.org/ns/DAP/4.0#"
|
||||
xmlns:dap="http://xml.opendap.org/ns/DAP/4.0#">
|
||||
<Dimensions>
|
||||
<Dimension name="_Anonymous2" size="2"/>
|
||||
</Dimensions>
|
||||
<Types>
|
||||
<Structure name="s">
|
||||
<Int32 name="x"/>
|
||||
<Int32 name="y"/>
|
||||
</Structure>
|
||||
</Types>
|
||||
<Variables>
|
||||
<Struct name="s" type="/s">
|
||||
<Dim name="/_Anonymous2"/>
|
||||
<Dim name="/_Anonymous2"/>
|
||||
</Struct>
|
||||
</Variables>
|
||||
<Attribute name="_dap4.ce" type="String">
|
||||
<Value value="/s[0:2:3][0:1]"/>
|
||||
</Attribute>
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
@ -1,4 +1,4 @@
|
||||
netcdf test_struct_array.nc {
|
||||
netcdf test_struct_array {
|
||||
types:
|
||||
compound s_t {
|
||||
int x ;
|
||||
@ -9,7 +9,6 @@ dimensions:
|
||||
dy = 3 ;
|
||||
variables:
|
||||
s_t s(dx, dy) ;
|
||||
|
||||
data:
|
||||
|
||||
s =
|
||||
|
@ -9,5 +9,4 @@ dimensions:
|
||||
dy = 3 ;
|
||||
variables:
|
||||
s_t s(dx, dy) ;
|
||||
|
||||
}
|
||||
|
@ -23,4 +23,7 @@
|
||||
<Attribute name="_DAP4_Little_Endian" type="UInt8">
|
||||
<Value value="1"/>
|
||||
</Attribute>
|
||||
<Attribute name="_NCProperties" type="String">
|
||||
<Value value="version=2,netcdf=4.9.1-development,hdf5=1.12.2"/>
|
||||
</Attribute>
|
||||
</Dataset>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user