@Test
public void testRead_SST_CCI_V2_Animal_Data() throws Exception {

    final ExtractDefinitionBuilder builder = prepareExtractBuilder(2013, 6, 8);
    builder.shape(new int[]{1, 3});
    final ExtractDefinition extractDefinition = builder.build();
    try (InsituReader reader = createReader("insitu_12_WMOID_Q9900586_20130331_20130729.nc")) {
        Array array = reader.read("insitu.sea_surface_temperature", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(0.66, array.getDouble(0), 1e-6);
        assertEquals(0.72, array.getDouble(1), 1e-6);
        assertEquals(1.21, array.getDouble(2), 1e-6);
        array = reader.read("insitu.lon", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(-153.0899963, array.getDouble(0), 1e-6);
        assertEquals(-152.8699951, array.getDouble(1), 1e-6);
        assertEquals(-152.8200073, array.getDouble(2), 1e-6);
        array = reader.read("insitu.lat", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(-56.2400016, array.getDouble(0), 1e-6);
        assertEquals(-55.9399986, array.getDouble(1), 1e-6);
        assertEquals(-55.6599998, array.getDouble(2), 1e-6);
        array = reader.read("insitu.time", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(1120785599, array.getLong(0));
        assertEquals(1120828799, array.getLong(1));
        assertEquals(1120849799, array.getLong(2));
        array = reader.read("insitu.sst_uncertainty", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(0.005, array.getDouble(0), 1e-6);
        assertEquals(0.005, array.getDouble(1), 1e-6);
        assertEquals(0.005, array.getDouble(2), 1e-6);
        array = reader.read("insitu.mohc_id", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(5726049, array.getInt(0));
        assertEquals(5714613, array.getInt(1));
        assertEquals(5714645, array.getInt(2));
    }
}