grib/src/main/java/ucar/nc2/grib/collection/GribCollectionWriter.java
GribCollectionProto.Coord writeCoordProto(CoordinateRuntime coord) {
    GribCollectionProto.Coord.Builder b = GribCollectionProto.Coord.newBuilder();
    b.setAxisType( convertAxisType (coord.getType()));
    b.setCode(coord.getCode());
    if (coord.getUnit() != null)
      b.setUnit(coord.getUnit());

    for (int idx=0; idx<coord.getSize(); idx++) {
      long runtime = coord.getRuntime(idx);
      b.addMsecs(runtime);
    }
    return b.build();
  }
GribCollectionProto.Coord writeCoordProto(CoordinateRuntime coord) {
    GribCollectionProto.Coord.Builder b = GribCollectionProto.Coord.newBuilder();
    b.setAxisType( convertAxisType (coord.getType()));
    b.setCode(coord.getCode());
    if (coord.getUnit() != null)
      b.setUnit(coord.getUnit());

    for (int idx=0; idx<coord.getSize(); idx++) {
      long runtime = coord.getRuntime(idx);
      b.addMsecs(runtime);
    }
    return b.build();
  }
/*
message Coord {
GribAxisType axisType = 1;
int32 code = 2;   // time unit; level type
string unit = 3;
repeated float values = 4;
repeated float bound = 5; // only used if interval, then = (value, bound)
repeated int64 msecs = 6; // calendar date