@Test
public void testRead_SST_CCI_V2_Xbt_Data() throws Exception {

    final ExtractDefinitionBuilder builder = prepareExtractBuilder(2006, 7, 28);
    builder.shape(new int[]{1, 3});
    final ExtractDefinition extractDefinition = builder.build();
    try (InsituReader reader = createReader("insitu_9_WMOID_9612_20060827_20060829.nc")) {
        Array array = reader.read("insitu.sea_surface_temperature", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(25.57, array.getDouble(0), 1e-6);
        assertEquals(25.69, array.getDouble(1), 1e-6);
        assertEquals(25.59, array.getDouble(2), 1e-6);
        array = reader.read("insitu.lon", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(108.5867, array.getDouble(0), 1e-6);
        assertEquals(107.2300034, array.getDouble(1), 1e-6);
        assertEquals(106.3700027, array.getDouble(2), 1e-6);
        array = reader.read("insitu.lat", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(-15.0433, array.getDouble(0), 1e-6);
        assertEquals(-12.0917, array.getDouble(1), 1e-6);
        assertEquals(-10.0933, array.getDouble(2), 1e-6);
        array = reader.read("insitu.time", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(904274351, array.getLong(0));
        assertEquals(904312728, array.getLong(1));
        assertEquals(904338467, array.getLong(2));
        array = reader.read("insitu.sst_uncertainty", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(0.15, array.getDouble(0), 1e-6);
        assertEquals(0.15, array.getDouble(1), 1e-6);
        assertEquals(0.15, array.getDouble(2), 1e-6);
        array = reader.read("insitu.mohc_id", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(2581270, array.getInt(0));
        assertEquals(2589864, array.getInt(1));
        assertEquals(2597200, array.getInt(2));
    }
}