protected void addGravitationalModel(final int index, final float[] line) throws Exception {
   final GeoPos geoPos = new GeoPos();
   final TileGeoreferencing tileGeoRef = new TileGeoreferencing(product, 0, index, line.length, 1);
   final double[][] v = new double[4][4];
   for (int i = 0; i < line.length; i++) {
     if (line[i] != noDataValue) {
       tileGeoRef.getGeoPos(i, index, geoPos);
       line[i] += egm.getEGM(geoPos.lat, geoPos.lon, v);
     }
   }
 }
 public SRTM1GridElevationTile(final SRTM1GridElevationModel dem, final Product product)
     throws IOException {
   super(dem, product);
   egm = EarthGravitationalModel96.instance();
 }