grib/src/main/java/ucar/nc2/grib/collection/Grib1CollectionWriter.java
private GribCollectionProto.Group writeGroupProto(Group g) {
    GribCollectionProto.Group.Builder b = GribCollectionProto.Group.newBuilder();

    b.setGds(writeGdsProto(g.gdss.getRawBytes(), g.gdss.getPredefinedGridDefinition()));

    for (Grib1CollectionBuilder.VariableBag vbag : g.gribVars) {
      b.addVariables(writeVariableProto(vbag));
    }

    for (Coordinate coord : g.coords) {
      switch (coord.getType()) {
        case runtime:
          b.addCoords(writeCoordProto((CoordinateRuntime) coord));
          break;
        case time:
          b.addCoords(writeCoordProto((CoordinateTime) coord));
          break;
        case timeIntv:
          b.addCoords(writeCoordProto((CoordinateTimeIntv) coord));
          break;
        case time2D:
          b.addCoords(writeCoordProto((CoordinateTime2D) coord));
          break;
        case vert:
          b.addCoords(writeCoordProto((CoordinateVert) coord));
          break;
        case ens:
          b.addCoords(writeCoordProto((CoordinateEns) coord));
          break;
      }
    }

    for (Integer aFileSet : g.fileSet) {
      b.addFileno(aFileSet);
    }

    return b.build();
  }
private GribCollectionProto.Group writeGroupProto(Group g) {
    GribCollectionProto.Group.Builder b = GribCollectionProto.Group.newBuilder();

    b.setGds(writeGdsProto(g.gdss.getRawBytes(), g.gdss.getPredefinedGridDefinition()));

    for (Grib1CollectionBuilder.VariableBag vbag : g.gribVars) {
      b.addVariables(writeVariableProto(vbag));
    }

    for (Coordinate coord : g.coords) {
      switch (coord.getType()) {
        case runtime:
          b.addCoords(writeCoordProto((CoordinateRuntime) coord));
          break;
        case time:
          b.addCoords(writeCoordProto((CoordinateTime) coord));
          break;
        case timeIntv:
          b.addCoords(writeCoordProto((CoordinateTimeIntv) coord));
          break;
        case time2D:
          b.addCoords(writeCoordProto((CoordinateTime2D) coord));
          break;
        case vert:
          b.addCoords(writeCoordProto((CoordinateVert) coord));
          break;
        case ens:
          b.addCoords(writeCoordProto((CoordinateEns) coord));
          break;
      }
    }

    for (Integer aFileSet : g.fileSet) {
      b.addFileno(aFileSet);
    }

    return b.build();
  }
private GribCollectionProto . Group writeGroupProto ( Group g ) { GribCollectionProto . Group . Builder b = GribCollectionProto . Group . newBuilder ( ) ; b . setGds ( writeGdsProto ( g . gdss . getRawBytes ( ) , g . gdss . getPredefinedGridDefinition ( ) ) ) ; for ( Grib1CollectionBuilder . VariableBag vbag : g . gribVars ) { b . addVariables ( writeVariableProto ( vbag ) ) ; } for ( Coordinate coord : g . coords ) { switch ( coord . getType ( ) ) { case runtime : b . addCoords ( writeCoordProto ( ( CoordinateRuntime ) coord ) ) ; break ; case time : b . addCoords ( writeCoordProto ( ( CoordinateTime ) coord ) ) ; break ; case timeIntv : b . addCoords ( writeCoordProto ( ( CoordinateTimeIntv ) coord ) ) ; break ; case time2D : b . addCoords ( writeCoordProto ( ( CoordinateTime2D ) coord ) ) ; break ; case vert : b . addCoords ( writeCoordProto ( ( CoordinateVert ) coord ) ) ; break ; case ens : b . addCoords ( writeCoordProto ( ( CoordinateEns ) coord ) ) ; break ; } } for ( Integer aFileSet : g . fileSet ) { b . addFileno ( aFileSet ) ; } return b . build ( ) ; }
/*
message Group {
Gds gds = 1;                             // use this to build the HorizCoordSys
repeated Variable variables = 2;         // list of variables
repeated Coord coords = 3;               // list of coordinates
repeated int32 fileno = 4 [packed=true]; // the component files that are in this group, key into gc.mfiles
}
/ * message Group { Gds gds = 1 ; // use this to build the HorizCoordSys repeated Variable variables = 2 ; // list of variables repeated Coord coords = 3 ; // list of coordinates repeated int32 fileno = 4 [ packed = true ] ; // the component files that are in this group key into gc . mfiles }