byte[] gdsData = new byte[gdsSize];
dis.readFully(gdsData);
int gdskey;
if (grid_edition_1) {
Grib1GDSVariables gdsv = new Grib1GDSVariables(gdsData);
GribGridDefRecord ggdr = new GribGridDefRecord(gdsv);
if (index_version.startsWith("8.0")) {
gdskey = gdsv.get80TypeGdsKey();
} else {
gdskey = gdsv.getGdsKey();
}
populateGDS1(ggdr, gdsv, gdskey);
gridIndex.addHorizCoordSys(ggdr);
//System.out.println("GDS length =" + gdsv.getLength());
//System.out.println("GDS GdsKey =" + gdsv.getOldTypeGdsKey());
} else {
Grib2GDSVariables gdsv = new Grib2GDSVariables(gdsData);
GribGridDefRecord ggdr = new GribGridDefRecord(gdsv);
if (index_version.startsWith("8.0")) {
gdskey = gdsv.get80TypeGdsKey();
} else {
gdskey = gdsv.getGdsKey(); // version higher than 8.0
}
populateGDS2(ggdr, gdsv, gdskey);
gridIndex.addHorizCoordSys(ggdr);
//System.out.println("GDS length =" + gdsv.getLength());
//System.out.println("GDS GdsKey =" + gdsv.getGdsKey());