From 7e1c82a671e82448b479cd8b52bcfea7112283c3 Mon Sep 17 00:00:00 2001 From: Tara Drwenski Date: Thu, 11 Jan 2024 11:09:20 -0700 Subject: [PATCH] Add zarr test catalog and tests --- .../java/thredds/tds/TestZarr.java | 39 ++++++++++++++++++ tds/src/test/content/thredds/catalog.xml | 1 + .../testdata/zarr/zarr_test_data.zarr/.zgroup | 3 ++ .../group_with_attrs/.zattrs | 3 ++ .../group_with_attrs/.zgroup | 3 ++ .../group_with_attrs/F_order_array/.zarray | 16 +++++++ .../group_with_attrs/F_order_array/.zattrs | 10 +++++ .../group_with_attrs/F_order_array/0.0 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/0.1 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/0.2 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/0.3 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/1.0 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/1.1 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/1.2 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/1.3 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/2.0 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/2.1 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/2.2 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/2.3 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/3.0 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/3.1 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/3.2 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/3.3 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/4.0 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/4.1 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/4.2 | Bin 0 -> 80 bytes .../group_with_attrs/F_order_array/4.3 | Bin 0 -> 80 bytes .../group_with_attrs/nested/.zarray | 17 ++++++++ .../group_with_attrs/nested/0/0 | Bin 0 -> 200 bytes .../group_with_attrs/nested/0/1 | Bin 0 -> 200 bytes .../group_with_attrs/nested/1/0 | Bin 0 -> 200 bytes .../group_with_attrs/nested/1/1 | Bin 0 -> 200 bytes .../group_with_attrs/partial_fill1/.zarray | 16 +++++++ .../group_with_attrs/partial_fill1/0.0 | Bin 0 -> 400 bytes .../group_with_attrs/partial_fill2/.zarray | 16 +++++++ .../group_with_attrs/partial_fill2/1.1 | Bin 0 -> 400 bytes .../group_with_attrs/uninitialized/.zarray | 16 +++++++ .../group_with_dims/.zgroup | 3 ++ .../group_with_dims/var1D/.zarray | 14 +++++++ .../group_with_dims/var1D/0 | Bin 0 -> 20 bytes .../group_with_dims/var1D/1 | Bin 0 -> 20 bytes .../group_with_dims/var1D/2 | Bin 0 -> 20 bytes .../group_with_dims/var1D/3 | Bin 0 -> 20 bytes .../group_with_dims/var2D/.zarray | 16 +++++++ .../group_with_dims/var2D/0.0 | Bin 0 -> 100 bytes .../group_with_dims/var2D/0.1 | Bin 0 -> 100 bytes .../group_with_dims/var2D/0.2 | Bin 0 -> 100 bytes .../group_with_dims/var2D/0.3 | Bin 0 -> 100 bytes .../group_with_dims/var2D/1.0 | Bin 0 -> 100 bytes .../group_with_dims/var2D/1.1 | Bin 0 -> 100 bytes .../group_with_dims/var2D/1.2 | Bin 0 -> 100 bytes .../group_with_dims/var2D/1.3 | Bin 0 -> 100 bytes .../group_with_dims/var2D/2.0 | Bin 0 -> 100 bytes .../group_with_dims/var2D/2.1 | Bin 0 -> 100 bytes .../group_with_dims/var2D/2.2 | Bin 0 -> 100 bytes .../group_with_dims/var2D/2.3 | Bin 0 -> 100 bytes .../group_with_dims/var2D/3.0 | Bin 0 -> 100 bytes .../group_with_dims/var2D/3.1 | Bin 0 -> 100 bytes .../group_with_dims/var2D/3.2 | Bin 0 -> 100 bytes .../group_with_dims/var2D/3.3 | Bin 0 -> 100 bytes .../group_with_dims/var3D/.zarray | 18 ++++++++ .../group_with_dims/var3D/0.0.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.0.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.0.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.0.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.1.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.1.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.1.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.1.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.2.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.2.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.2.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.2.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.3.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.3.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.3.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/0.3.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.0.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.0.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.0.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.0.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.1.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.1.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.1.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.1.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.2.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.2.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.2.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.2.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.3.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.3.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.3.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/1.3.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.0.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.0.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.0.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.0.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.1.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.1.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.1.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.1.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.2.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.2.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.2.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.2.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.3.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.3.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.3.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/2.3.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.0.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.0.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.0.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.0.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.1.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.1.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.1.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.1.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.2.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.2.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.2.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.2.3 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.3.0 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.3.1 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.3.2 | Bin 0 -> 500 bytes .../group_with_dims/var3D/3.3.3 | Bin 0 -> 500 bytes .../group_with_dims/var4D/.zarray | 20 +++++++++ .../group_with_dims/var4D/0.0.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.0.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.1.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.2.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/0.3.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.0.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.1.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.2.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/1.3.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.0.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.1.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.2.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/2.3.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.0.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.1.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.2.3.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.0.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.0.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.0.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.0.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.1.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.1.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.1.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.1.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.2.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.2.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.2.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.2.3 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.3.0 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.3.1 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.3.2 | Bin 0 -> 2500 bytes .../group_with_dims/var4D/3.3.3.3 | Bin 0 -> 2500 bytes .../public/testdata/zarr/zarr_test_data.zip | Bin 0 -> 745798 bytes tds/src/test/content/thredds/tds-zarr.xml | 12 ++++++ 384 files changed, 223 insertions(+) create mode 100644 tds/src/integrationTests/java/thredds/tds/TestZarr.java create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/.zgroup create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/.zattrs create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/.zgroup create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/.zarray create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/.zattrs create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/4.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/4.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/4.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/4.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/nested/.zarray create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/nested/0/0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/nested/0/1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/nested/1/0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/nested/1/1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/partial_fill1/.zarray create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/partial_fill1/0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/partial_fill2/.zarray create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/partial_fill2/1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/uninitialized/.zarray create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/.zgroup create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var1D/.zarray create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var1D/0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var1D/1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var1D/2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var1D/3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/.zarray create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var2D/3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/.zarray create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/0.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/1.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/2.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var3D/3.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/.zarray create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.0.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.1.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.2.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/0.3.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.0.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.1.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.2.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/1.3.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.0.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.1.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.2.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/2.3.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.0.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.1.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.2.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.0.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.0.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.0.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.0.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.1.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.1.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.1.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.1.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.2.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.2.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.2.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.2.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.3.0 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.3.1 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.3.2 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_dims/var4D/3.3.3.3 create mode 100644 tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zip create mode 100644 tds/src/test/content/thredds/tds-zarr.xml diff --git a/tds/src/integrationTests/java/thredds/tds/TestZarr.java b/tds/src/integrationTests/java/thredds/tds/TestZarr.java new file mode 100644 index 0000000000..c225900025 --- /dev/null +++ b/tds/src/integrationTests/java/thredds/tds/TestZarr.java @@ -0,0 +1,39 @@ +package thredds.tds; + +import static com.google.common.truth.Truth.assertThat; + +import java.nio.charset.StandardCharsets; +import javax.servlet.http.HttpServletResponse; +import org.junit.Ignore; +import org.junit.Test; +import thredds.test.util.TestOnLocalServer; + +public class TestZarr { + final private static String ZARR_DIR_PATH = "localContent/zarr/zarr_test_data.zarr"; + final private static String ZARR_ZIP_PATH = "localContent/zarr/zarr_test_data.zip"; + final private static String ZARR_S3_PATH = "s3-zarr/zarr_test_data.zarr"; + + @Test + public void shouldOpenZarrDirectory() { + checkWithOpendap(ZARR_DIR_PATH); + } + + @Test + public void shouldOpenZarrZip() { + checkWithOpendap(ZARR_ZIP_PATH); + } + + @Ignore("Still working on S3 Zarr") + @Test + public void shouldOpenObjectStoreZarrFile() { + checkWithOpendap(ZARR_S3_PATH); + } + + private static void checkWithOpendap(String path) { + final String endpoint = TestOnLocalServer.withHttpPath("dodsC/" + path + ".dds"); + final byte[] content = TestOnLocalServer.getContent(endpoint, HttpServletResponse.SC_OK); + final String stringContent = new String(content, StandardCharsets.UTF_8); + + assertThat(stringContent).contains("Int32 /group_with_attrs/F_order_array[dim0 = 20][dim1 = 20];"); + } +} diff --git a/tds/src/test/content/thredds/catalog.xml b/tds/src/test/content/thredds/catalog.xml index 2d0aa77c6f..5c67dae062 100644 --- a/tds/src/test/content/thredds/catalog.xml +++ b/tds/src/test/content/thredds/catalog.xml @@ -311,6 +311,7 @@ + diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/.zgroup b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/.zgroup new file mode 100644 index 0000000000..3b7daf227c --- /dev/null +++ b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/.zgroup @@ -0,0 +1,3 @@ +{ + "zarr_format": 2 +} \ No newline at end of file diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/.zattrs b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/.zattrs new file mode 100644 index 0000000000..cf836337bf --- /dev/null +++ b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/.zattrs @@ -0,0 +1,3 @@ +{ + "group_attr": "foo" +} \ No newline at end of file diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/.zgroup b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/.zgroup new file mode 100644 index 0000000000..3b7daf227c --- /dev/null +++ b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/.zgroup @@ -0,0 +1,3 @@ +{ + "zarr_format": 2 +} \ No newline at end of file diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/.zarray b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/.zarray new file mode 100644 index 0000000000..4572daa603 --- /dev/null +++ b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/.zarray @@ -0,0 +1,16 @@ +{ + "chunks": [ + 4, + 5 + ], + "compressor": null, + "dtype": "O00dwFDF6Tf literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/0.1 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/0.1 new file mode 100644 index 0000000000000000000000000000000000000000..2e5d506d33d2c41448cd49524cb557d6f4da55dc GIT binary patch literal 80 fcmZQ&U|?WH!fZe`GG+(zkue95kBm8id}Is&6vzOL literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/0.2 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/0.2 new file mode 100644 index 0000000000000000000000000000000000000000..4fc0c650b5532e8db0e68c4d178a899cc543fdcd GIT binary patch literal 80 fcmd;LU|`@v!rVYMGUfsDkufijkBs?%d}Is&B`^T- literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/0.3 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/0.3 new file mode 100644 index 0000000000000000000000000000000000000000..47880e61ccedaff7521ee760dfa2d0c1c0e0ffb4 GIT binary patch literal 80 fcmd;QU|`@!!U8}xG8P2#k+BevkBo(Zd}Is&HJAZa literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/1.0 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/1.0 new file mode 100644 index 0000000000000000000000000000000000000000..0a190306b1a6cba0e874e673f1ce4d313714d815 GIT binary patch literal 80 ccmZQzKn09IE;42U@{ut!kdKU6fP7>O00dwFDF6Tf literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/1.1 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/1.1 new file mode 100644 index 0000000000000000000000000000000000000000..2e5d506d33d2c41448cd49524cb557d6f4da55dc GIT binary patch literal 80 fcmZQ&U|?WH!fZe`GG+(zkue95kBm8id}Is&6vzOL literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/1.2 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/1.2 new file mode 100644 index 0000000000000000000000000000000000000000..4fc0c650b5532e8db0e68c4d178a899cc543fdcd GIT binary patch literal 80 fcmd;LU|`@v!rVYMGUfsDkufijkBs?%d}Is&B`^T- literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/1.3 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/1.3 new file mode 100644 index 0000000000000000000000000000000000000000..47880e61ccedaff7521ee760dfa2d0c1c0e0ffb4 GIT binary patch literal 80 fcmd;QU|`@!!U8}xG8P2#k+BevkBo(Zd}Is&HJAZa literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/2.0 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/2.0 new file mode 100644 index 0000000000000000000000000000000000000000..0a190306b1a6cba0e874e673f1ce4d313714d815 GIT binary patch literal 80 ccmZQzKn09IE;42U@{ut!kdKU6fP7>O00dwFDF6Tf literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/2.1 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/2.1 new file mode 100644 index 0000000000000000000000000000000000000000..2e5d506d33d2c41448cd49524cb557d6f4da55dc GIT binary patch literal 80 fcmZQ&U|?WH!fZe`GG+(zkue95kBm8id}Is&6vzOL literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/2.2 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/2.2 new file mode 100644 index 0000000000000000000000000000000000000000..4fc0c650b5532e8db0e68c4d178a899cc543fdcd GIT binary patch literal 80 fcmd;LU|`@v!rVYMGUfsDkufijkBs?%d}Is&B`^T- literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/2.3 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/2.3 new file mode 100644 index 0000000000000000000000000000000000000000..47880e61ccedaff7521ee760dfa2d0c1c0e0ffb4 GIT binary patch literal 80 fcmd;QU|`@!!U8}xG8P2#k+BevkBo(Zd}Is&HJAZa literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/3.0 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/3.0 new file mode 100644 index 0000000000000000000000000000000000000000..0a190306b1a6cba0e874e673f1ce4d313714d815 GIT binary patch literal 80 ccmZQzKn09IE;42U@{ut!kdKU6fP7>O00dwFDF6Tf literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/3.1 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/3.1 new file mode 100644 index 0000000000000000000000000000000000000000..2e5d506d33d2c41448cd49524cb557d6f4da55dc GIT binary patch literal 80 fcmZQ&U|?WH!fZe`GG+(zkue95kBm8id}Is&6vzOL literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/3.2 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/3.2 new file mode 100644 index 0000000000000000000000000000000000000000..4fc0c650b5532e8db0e68c4d178a899cc543fdcd GIT binary patch literal 80 fcmd;LU|`@v!rVYMGUfsDkufijkBs?%d}Is&B`^T- literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/3.3 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/3.3 new file mode 100644 index 0000000000000000000000000000000000000000..47880e61ccedaff7521ee760dfa2d0c1c0e0ffb4 GIT binary patch literal 80 fcmd;QU|`@!!U8}xG8P2#k+BevkBo(Zd}Is&HJAZa literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/4.0 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/4.0 new file mode 100644 index 0000000000000000000000000000000000000000..0a190306b1a6cba0e874e673f1ce4d313714d815 GIT binary patch literal 80 ccmZQzKn09IE;42U@{ut!kdKU6fP7>O00dwFDF6Tf literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/4.1 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/4.1 new file mode 100644 index 0000000000000000000000000000000000000000..2e5d506d33d2c41448cd49524cb557d6f4da55dc GIT binary patch literal 80 fcmZQ&U|?WH!fZe`GG+(zkue95kBm8id}Is&6vzOL literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/4.2 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/4.2 new file mode 100644 index 0000000000000000000000000000000000000000..4fc0c650b5532e8db0e68c4d178a899cc543fdcd GIT binary patch literal 80 fcmd;LU|`@v!rVYMGUfsDkufijkBs?%d}Is&B`^T- literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/4.3 b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/F_order_array/4.3 new file mode 100644 index 0000000000000000000000000000000000000000..47880e61ccedaff7521ee760dfa2d0c1c0e0ffb4 GIT binary patch literal 80 fcmd;QU|`@!!U8}xG8P2#k+BevkBo(Zd}Is&HJAZa literal 0 HcmV?d00001 diff --git a/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/nested/.zarray b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/nested/.zarray new file mode 100644 index 0000000000..337cc66c01 --- /dev/null +++ b/tds/src/test/content/thredds/public/testdata/zarr/zarr_test_data.zarr/group_with_attrs/nested/.zarray @@ -0,0 +1,17 @@ +{ + "chunks": [ + 10, + 10 + ], + "compressor": null, + "dtype": "U3XGuO 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 + + + + + + + + +