grib/src/main/java/ucar/nc2/grib/collection/GribCollectionWriter.java
static GribCollectionProto.Gds writeGdsProto(byte[] rawGds, int predefinedGridDefinition) {
    GribCollectionProto.Gds.Builder b = GribCollectionProto.Gds.newBuilder();

    if (predefinedGridDefinition >= 0)
      b.setPredefinedGridDefinition(predefinedGridDefinition);
    else {
      b.setGds(ByteString.copyFrom(rawGds));
    }

    return b.build();
  }
static GribCollectionProto.Gds writeGdsProto(byte[] rawGds, int predefinedGridDefinition) {
    GribCollectionProto.Gds.Builder b = GribCollectionProto.Gds.newBuilder();

    if (predefinedGridDefinition >= 0)
      b.setPredefinedGridDefinition(predefinedGridDefinition);
    else {
      b.setGds(ByteString.copyFrom(rawGds));
    }

    return b.build();
  }
static GribCollectionProto . Gds writeGdsProto ( byte [ ] rawGds , int predefinedGridDefinition ) { GribCollectionProto . Gds . Builder b = GribCollectionProto . Gds . newBuilder ( ) ; if ( predefinedGridDefinition >= 0 ) b . setPredefinedGridDefinition ( predefinedGridDefinition ) ; else { b . setGds ( ByteString . copyFrom ( rawGds ) ) ; } return b . build ( ) ; }
/*
message Gds {
bytes gds = 1;                        // raw gds: Grib1SectionGridDefinition or Grib2SectionGridDefinition
uint32 predefinedGridDefinition = 2;  // only grib1; instead of gds raw bytes; need center, subcenter to interpret
}
/ * message Gds { bytes gds = 1 ; // raw gds : Grib1SectionGridDefinition or Grib2SectionGridDefinition uint32 predefinedGridDefinition = 2 ; // only grib1 ; instead of gds raw bytes ; need center subcenter to interpret }