    @Test
    public void testExtractMapFeature() throws DataReadingException {

        int startX = 10;
        int startY = 20;
        int xSize = 10;
        int ySize = 10;

        RegularGrid targetGrid = new RegularGridImpl(startX - 0.5, startY - 0.5, startX + xSize
                + 0.5, startY + ySize + 0.5, null, xSize + 1, ySize + 1);

        /*
         * Useful check that the target grid is what we expect...
         */
//        for (int i = 0; i < targetGrid.getXSize(); i++) {
//            StringBuffer row = new StringBuffer();
//            for (int j = 0; j < targetGrid.getYSize(); j++) {
//                row.append(targetGrid.getXAxis().getCoordinateValue(i) + ","
//                        + targetGrid.getYAxis().getCoordinateValue(j) + "\t");
//            }
//            System.out.println(row.toString());
//        }

        for (int z = 0; z < vAxis.size(); z++) {
            double elevation = vAxis.getCoordinateValue(z);
            for (int t = 0; t < tAxis.size(); t++) {
                DateTime time = tAxis.getCoordinateValue(t);
                MapFeature mapFeature = feature
                        .extractMapFeature(null, targetGrid, elevation, time);
                Array2D<Number> values = mapFeature.getValues(VAR_ID);

                int xGlobal = startX;
                for (int xLocal = 0; xLocal < values.getXSize(); xLocal++) {
                    int yGlobal = startY;
                    for (int yLocal = 0; yLocal < values.getYSize(); yLocal++) {
                        Number number = values.get(yLocal, xLocal);
                        int[] c = coordsFromNumber(number);
                        assertEquals(c[0], t);
                        assertEquals(c[1], z);
                        assertEquals(c[2], yGlobal);
                        assertEquals(c[3], xGlobal);
                        yGlobal++;
                    }
                    xGlobal++;
                }
            }
        }

    }