Cleanup DAP4 testing

NOTE: This PR should not be included in 4.9.1 since additional
DAP4 related PRs will be forthcoming.

This PR makes major changes to libdap4 and dap4_test driven by changes to TDS.

* Enable DAP4
* Clean up the test input files and the test baseline comparison files. This entails:
    * Remove a multitude of unused test input and baseline data files; among them are dap4_test/: daptestfiles, dmrtestfiles, nctestfiles, and misctestfiles.
    * Define a canonical set of test input files and record in dap4_test/cdltestfiles.
    * Use the cdltestfiles to generate the .nc test inputs. This set of .nc files is then moved to the d4ts (DAP4 test server) war file in the tds repository. This set then becomes the canonical set of DAP4 test sources.
    * Scrape d4ts to obtain copies of the raw streams of DAP4 encoded data. The .dmr and .dap streams are then stored in dap4_test/rawtestfiles.
    * Disable some remote server tests until those servers are fixed.
* Add an option to ncdump (-XF) that forces the type of the _FillValue attribute; this is primarily to simplify testing of fill mismatch.
* Minor bug fixes to ncgen.
* Changes to libdap4:
    * Replace old checksum hack with the dap4.checksum flag.
    * Support the dap4.XXX controls.
    * Cleanup _FillValue handling, especially var-attribute type mismatches.
    * Fix enum handling based on changes to netcdf-java.
* Changes to dap4_test:
    * Add getopt support to various test support programs.
    * Remove unneeded shell scripts.
    * Add new scripts: test_curlopt.sh
This commit is contained in:
Dennis Heimbigner 2022-11-13 13:15:11 -07:00
parent 06df257e22
commit 835b81a285
423 changed files with 2334 additions and 67832 deletions

View File

@ -1062,9 +1062,9 @@ ENDIF()
IF(ENABLE_DAP)
SET(USE_DAP ON CACHE BOOL "")
SET(ENABLE_DAP2 ON CACHE BOOL "")
SET(ENABLE_DAP4 OFF CACHE BOOL "")
IF(NOT ENABLE_HDF5)
IF(ENABLE_HDF5)
SET(ENABLE_DAP4 ON CACHE BOOL "")
ELSE(ENABLE_HDF5)
SET(ENABLE_DAP4 OFF CACHE BOOL "")
ENDIF(ENABLE_HDF5)
@ -1262,6 +1262,8 @@ IF(MSVC)
DESTINATION ${netCDF_BINARY_DIR}/nczarr_test/)
FILE(COPY ${netCDF_SOURCE_DIR}/libsrc/XGetopt.c
DESTINATION ${netCDF_BINARY_DIR}/ncdap_test/)
FILE(COPY ${netCDF_SOURCE_DIR}/libsrc/XGetopt.c
DESTINATION ${netCDF_BINARY_DIR}/dap4_test/)
ENDIF()
ENDIF()

View File

@ -16,6 +16,7 @@ This file contains a high-level description of this package's evolution. Release
#### Changes
* [Bug Fix] Make major changes to libdap4 and dap4_test to update the non-remote DAP4 tests. See [Github #????](https://github.com/Unidata/netcdf-c/pull/????).
* [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).
* [Enhancement][Documentation] Add Plugins Quick Start Guide. See [GitHub #2524](https://github.com/Unidata/netcdf-c/pull/2524) for more information.
* [Enhancement] Add new entries in `netcdf_meta.h`, `NC_HAS_BLOSC` and `NC_HAS_BZ2`. See [Github #2511](https://github.com/Unidata/netcdf-c/issues/2511) and [Github #2512](https://github.com/Unidata/netcdf-c/issues/2512) for more information.

View File

@ -663,13 +663,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])
AC_DEFINE_UNQUOTED([REMOTETESTSERVERS], ["$REMOTETESTSERVERS"], [the testservers for remote tests.])
if test "x$dfaltsvc" != x ; then
AC_MSG_NOTICE([Using default: --with-testservers=${dfaltsvc}])
fi
# Set the config.h flags
if test "x$enable_dap" = xyes; then

View File

@ -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,24 +36,24 @@ 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 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_hyrax)
add_sh_test(dap4_test test_thredds)
# add_sh_test(dap4_test test_remote)
# add_sh_test(dap4_test test_hyrax)
# add_sh_test(dap4_test test_thredds)
ENDIF(ENABLE_DAP_REMOTE_TESTS)
ENDIF(ENABLE_TESTS)

View File

@ -30,9 +30,9 @@ 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.
@ -41,21 +41,19 @@ findtestserver4_SOURCES = findtestserver4.c
pingurl4_SOURCES = pingurl4.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 test_thredds.sh
if AX_IGNORE
TESTS += test_remote.sh
endif
if ENABLE_DAP_REMOTE_TESTS
# Test require help at the server end
# TESTS += test_remote.sh test_hyrax.sh test_thredds.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 \
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_thredds.sh \
cdltestfiles rawtestfiles nctestfiles \
baseline baselineraw baselineremote baselinehyrax baselinethredds
CLEANFILES = *.exe
# This should only be left behind if using parallel io
@ -80,7 +78,7 @@ 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::

View File

@ -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 ;
}

View File

@ -1,9 +0,0 @@
netcdf test_anon_dim.2 {
dimensions:
_Anonymous4 = 4 ;
variables:
int vu32(_Anonymous4) ;
// global attributes:
string :_dap4.ce = "/vu32[0:3]" ;
}

View File

@ -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>

View File

@ -1,11 +0,0 @@
netcdf test_anon_dim.syn {
dimensions:
_Anonymous6 = 6 ;
variables:
int vu32(_Anonymous6) ;
data:
vu32 = -1169720286, -920699049, -2088732436, 1060190036, -1123468835,
922940053 ;
}

View File

@ -1,7 +0,0 @@
netcdf test_anon_dim {
dimensions:
_Anonymous6 = 6 ;
variables:
int vu32(_Anonymous6) ;
}

View File

@ -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>

View File

@ -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 ;
}

View File

@ -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]" ;
}

View File

@ -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>

View File

@ -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 ;
}

View File

@ -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]" ;
}

View File

@ -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>

View File

@ -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 ;
}

View File

@ -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]" ;
}

View File

@ -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>

View File

@ -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 =

View File

@ -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 ;
}

View File

@ -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>

View File

@ -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 ;
}

View File

@ -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 ;
}

View File

@ -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 ;

View File

@ -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 ;
}

View File

@ -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>

View File

@ -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 ;
}

View File

@ -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 ;
}

View File

@ -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>

View File

@ -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 ;

View File

@ -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 ;
}

View File

@ -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>

View File

@ -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 ;

View File

@ -5,7 +5,6 @@ types:
Altocumulus = 7, Cirrostratus = 8, Cirrocumulus = 9, Cirrus = 10,
Missing = 127} ;
group: h {
variables:
cloud_class_t primary_cloud ;

View File

@ -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>

View 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
}

View 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
}

View 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>

View File

@ -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 ;
}

View File

@ -1,15 +0,0 @@
netcdf test_enum_array.4 {
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]" ;
}

View File

@ -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>

View File

@ -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, _ ;

View File

@ -9,5 +9,4 @@ dimensions:
variables:
cloud_class_t primary_cloud(d5) ;
cloud_class_t primary_cloud:_FillValue = Missing ;
}

View File

@ -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>

View File

@ -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 ;

View File

@ -2,7 +2,6 @@ netcdf test_fill {
variables:
ubyte uv8 ;
short v16 ;
uint uv32 ;
uv32:_FillValue = 17U ;
int uv32 ;
int uv32:_FillValue = 17 ;
}

View File

@ -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>

View 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, _ ;
}

View File

@ -1,18 +1,18 @@
netcdf test_enum_array {
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:
d5 = 5 ;
d2 = 2 ;
variables:
cloud_class_t primary_cloud(d5) ;
cloud_class_t primary_cloud:_FillValue = Missing ;
// global attributes:
:_DAP4_Little_Endian = 1UB ;
data:
primary_cloud = Clear, Stratus, Clear, Cumulonimbus, _ ;
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 ;
}

View File

@ -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>

View File

@ -1,8 +1,7 @@
netcdf test_groups1.nc {
netcdf test_groups1 {
dimensions:
dim1 = 5 ;
group: g {
dimensions:
dim2 = 3 ;

View File

@ -2,7 +2,6 @@ netcdf test_groups1 {
dimensions:
dim1 = 5 ;
group: g {
dimensions:
dim2 = 3 ;

View File

@ -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>

View 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 = _, _, _, _, _, _ ;
}

View 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" ;
}

View 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>

View File

@ -1,7 +1,6 @@
netcdf test_one_var.nc {
netcdf test_one_var {
variables:
int t ;
data:
t = 17 ;

View File

@ -1,5 +1,4 @@
netcdf test_one_var {
variables:
int t ;
}

View File

@ -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>

View File

@ -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 ;
}

View File

@ -1,9 +0,0 @@
netcdf test_one_vararray.1 {
dimensions:
_Anonymous1 = 1 ;
variables:
int t(_Anonymous1) ;
// global attributes:
string :_dap4.ce = "/t[1]" ;
}

View File

@ -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>

View File

@ -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 ;
}

View File

@ -1,9 +0,0 @@
netcdf test_one_vararray.3 {
dimensions:
d2 = 2 ;
variables:
int t(d2) ;
// global attributes:
string :_dap4.ce = "/t[0:1]" ;
}

View File

@ -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>

View File

@ -1,9 +1,8 @@
netcdf test_one_vararray.nc {
netcdf test_one_vararray {
dimensions:
d2 = 2 ;
variables:
int t(d2) ;
data:
t = 17, 37 ;

View File

@ -3,5 +3,4 @@ dimensions:
d2 = 2 ;
variables:
int t(d2) ;
}

View File

@ -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>

View File

@ -1,9 +1,8 @@
netcdf test_opaque.nc {
netcdf test_opaque {
types:
opaque(16) opaque16_t ;
variables:
opaque16_t vo1 ;
data:
vo1 = 0X0123456789ABCDEF0000000000000000 ;

View File

@ -1,7 +1,6 @@
netcdf test_opaque {
types:
opaque(8) opaque8_t ;
opaque(16) opaque16_t ;
variables:
opaque8_t vo1 ;
opaque16_t vo1 ;
}

View File

@ -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>

View File

@ -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 ;
}

View File

@ -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]" ;
}

View File

@ -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>

View File

@ -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 =

View File

@ -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) ;
}

View File

@ -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>

View File

@ -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}} ;
}

View File

@ -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 ;
}

View File

@ -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>

View File

@ -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}} ;
}

View File

@ -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) ;
}

View File

@ -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>

View File

@ -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} ;

View File

@ -6,5 +6,4 @@ types:
}; // s_t
variables:
s_t s ;
}

View File

@ -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>

View File

@ -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} ;
}

View File

@ -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]" ;
}

View File

@ -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>

View File

@ -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 =

View File

@ -9,5 +9,4 @@ dimensions:
dy = 3 ;
variables:
s_t s(dx, dy) ;
}

View File

@ -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>

View File

@ -1,29 +0,0 @@
netcdf test_struct_array.syn {
types:
compound s_t {
int x ;
int y ;
}; // s_t
dimensions:
dx = 4 ;
dy = 3 ;
variables:
float z(dx) ;
float t(dy) ;
s_t s(dx, dy) ;
string s:_edu.ucar.maps = "/z", "/t" ;
data:
z = 0.7276533, 0.785633, 0.513679, 0.2468447 ;
t = 0.738422, 0.2148887, 0.4947984 ;
s =
{712320147, 1268468519}, {696298400, 989876086}, {-1927163883, -900795134},
{-708236713, 1377500019}, {511843988, 1699265896}, {-540214433, -914532520},
{-1344032615, -871416961}, {-1928735161, 935744880},
{-1509955773, -1707460853},
{1145911788, -415231529}, {-278269626, -1682978013},
{-1629885665, -909240754} ;
}

View File

@ -1,16 +0,0 @@
netcdf test_struct_array {
types:
compound s_t {
int x ;
int y ;
}; // s_t
dimensions:
dx = 4 ;
dy = 3 ;
variables:
float z(dx) ;
float t(dy) ;
s_t s(dx, dy) ;
string s:_edu.ucar.maps = "/z", "/t" ;
}

View File

@ -1,34 +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="dx" size="4"/>
<Dimension name="dy" size="3"/>
</Dimensions>
<Types>
<Structure name="s">
<Int32 name="x"/>
<Int32 name="y"/>
</Structure>
</Types>
<Variables>
<Float32 name="z">
<Dim name="/dx"/>
</Float32>
<Float32 name="t">
<Dim name="/dy"/>
</Float32>
<Struct name="s" type="/s">
<Dim name="/dx"/>
<Dim name="/dy"/>
<Map name="/z"/>
<Map name="/t"/>
</Struct>
</Variables>
<Attribute name="_DAP4_Little_Endian" type="UInt8">
<Value value="1"/>
</Attribute>
</Dataset>

View File

@ -1,4 +1,4 @@
netcdf test_struct_nested.nc {
netcdf test_struct_nested {
types:
compound x_field1_t {
int x ;
@ -14,7 +14,6 @@ types:
}; // x_t
variables:
x_t x ;
data:
x = {{1, -2}, {255, 90}} ;

View File

@ -14,5 +14,4 @@ types:
}; // x_t
variables:
x_t x ;
}

View File

@ -24,4 +24,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