@Test
public void testRead_SST_CCI_V2_GTMBA_Data() throws Exception {

    final ExtractDefinitionBuilder builder = prepareExtractBuilder(2008, 7, 19);
    builder.shape(new int[]{1, 3});
    final ExtractDefinition extractDefinition = builder.build();
    try (InsituReader reader = createReader("insitu_3_WMOID_23006_19970911_20130520.nc")) {
        Array array = reader.read("insitu.sea_surface_temperature", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(24.303, array.getDouble(0), 1e-6);
        assertEquals(24.305, array.getDouble(1), 1e-6);
        assertEquals(24.39, array.getDouble(2), 1e-6);
        array = reader.read("insitu.lon", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(350.0, array.getDouble(0), 1e-6);
        assertEquals(350.0, array.getDouble(1), 1e-6);
        assertEquals(350.0, array.getDouble(2), 1e-6);
        array = reader.read("insitu.lat", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(-10.0, array.getDouble(0), 1e-5);
        assertEquals(-10.0, array.getDouble(1), 1e-5);
        assertEquals(-10.0, array.getDouble(2), 1e-5);
        array = reader.read("insitu.time", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(966664799, array.getLong(0));
        assertEquals(966707999, array.getLong(1));
        assertEquals(966729599, array.getLong(2));
        array = reader.read("insitu.sst_uncertainty", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(0.1, array.getDouble(0), 1e-6);
        assertEquals(0.1, array.getDouble(1), 1e-6);
        assertEquals(0.1, array.getDouble(2), 1e-6);
        array = reader.read("insitu.mohc_id", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(543446, array.getInt(0));
        assertEquals(543518, array.getInt(1));
        assertEquals(543589, array.getInt(2));
    }
}