@Test
public void testRead_SST_CCI_V2_Ship_Data() throws Exception {

    final ExtractDefinitionBuilder builder = prepareExtractBuilder(2002, 0, 17);
    builder.shape(new int[]{1, 2});
    final ExtractDefinition extractDefinition = builder.build();
    try (InsituReader reader = createReader("insitu_2_WMOID_ZNUB_20011201_20020211.nc")) {
        Array array = reader.read("insitu.sea_surface_temperature", extractDefinition);
        assertEquals(2, array.getSize());
        assertEquals(26., array.getDouble(0), 1e-6);
        assertEquals(-32768.0, array.getDouble(1), 1e-6);
        array = reader.read("insitu.lon", extractDefinition);
        assertEquals(2, array.getSize());
        assertEquals(114.5, array.getDouble(0), 1e-6);
        assertEquals(-32768.0, array.getDouble(1), 1e-6);
        array = reader.read("insitu.lat", extractDefinition);
        assertEquals(2, array.getSize());
        assertEquals(-30.8, array.getDouble(0), 1e-5);
        assertEquals(-32768.0, array.getDouble(1), 1e-6);
        array = reader.read("insitu.time", extractDefinition);
        assertEquals(2, array.getSize());
        assertEquals(760449600, array.getLong(0));
        assertEquals(-32768, array.getLong(1));
        array = reader.read("insitu.sst_uncertainty", extractDefinition);
        assertEquals(2, array.getSize());
        assertEquals(1.026, array.getDouble(0), 1e-6);
        assertEquals(-32768.0, array.getDouble(1), 1e-6);
        array = reader.read("insitu.mohc_id", extractDefinition);
        assertEquals(2, array.getSize());
        assertEquals(63641, array.getInt(0));
        assertEquals(-32768, array.getInt(1));
    }
}