@Test
public void testRead_SST_CCI_V2_Radiometer_Data() throws Exception {

    final ExtractDefinitionBuilder builder = prepareExtractBuilder(2006, 8, 11);
    builder.shape(new int[]{1, 3});
    final ExtractDefinition extractDefinition = builder.build();
    try (InsituReader reader = createReader("insitu_4_WMOID_PoB_20040717_20100929.nc")) {
        Array array = reader.read("insitu.sea_surface_temperature", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(17.25, array.getDouble(0), 1e-6);
        assertEquals(17.450012, array.getDouble(1), 1e-6);
        assertEquals(21.649994, array.getDouble(2), 1e-6);
        array = reader.read("insitu.lon", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(-1.73158, array.getDouble(0), 1e-6);
        assertEquals(-5.49482, array.getDouble(1), 1e-6);
        assertEquals(-4.03372, array.getDouble(2), 1e-6);
        array = reader.read("insitu.lat", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(50.313568, array.getDouble(0), 1e-5);
        assertEquals(47.826782, array.getDouble(1), 1e-5);
        assertEquals(44.676899, array.getDouble(2), 1e-5);
        array = reader.read("insitu.time", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(905472100, array.getLong(0));
        assertEquals(905515371, array.getLong(1));
        assertEquals(905558244, 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(660398, array.getInt(0));
        assertEquals(660523, array.getInt(1));
        assertEquals(660792, array.getInt(2));
    }
}