cdm/src/main/java/ucar/nc2/ft2/coverage/remote/CdmrfWriter.java
CdmrFeatureProto.CoverageDataset.Builder encodeHeader(CoverageCollection gridDataset, String location) {
    CdmrFeatureProto.CoverageDataset.Builder builder = CdmrFeatureProto.CoverageDataset.newBuilder();
    builder.setName(location);
    builder.setCoverageType(convertCoverageType(gridDataset.getCoverageType()));
    builder.setDateRange(encodeDateRange(gridDataset.getCalendarDateRange()));
    if (gridDataset.getLatlonBoundingBox() != null)
      builder.setLatlonRect(encodeRectangle(gridDataset.getLatlonBoundingBox()));
    if (gridDataset.getProjBoundingBox() != null)
      builder.setProjRect(encodeRectangle(gridDataset.getProjBoundingBox()));

    for (Attribute att : gridDataset.getGlobalAttributes())
      builder.addAtts(NcStream.encodeAtt(att));

    for (CoverageCoordSys gcs : gridDataset.getCoordSys())
      builder.addCoordSys(encodeCoordSys(gcs));

    for (CoverageTransform gct : gridDataset.getCoordTransforms())
      builder.addCoordTransforms(encodeCoordTransform(gct));

    for (CoverageCoordAxis axis : gridDataset.getCoordAxes())
      builder.addCoordAxes(encodeCoordAxis(axis));

    for (Coverage grid : gridDataset.getCoverages())
      builder.addGrids(encodeGrid(grid));

    return builder;
  }
CdmrFeatureProto.CoverageDataset.Builder encodeHeader(CoverageCollection gridDataset, String location) {
    CdmrFeatureProto.CoverageDataset.Builder builder = CdmrFeatureProto.CoverageDataset.newBuilder();
    builder.setName(location);
    builder.setCoverageType(convertCoverageType(gridDataset.getCoverageType()));
    builder.setDateRange(encodeDateRange(gridDataset.getCalendarDateRange()));
    if (gridDataset.getLatlonBoundingBox() != null)
      builder.setLatlonRect(encodeRectangle(gridDataset.getLatlonBoundingBox()));
    if (gridDataset.getProjBoundingBox() != null)
      builder.setProjRect(encodeRectangle(gridDataset.getProjBoundingBox()));

    for (Attribute att : gridDataset.getGlobalAttributes())
      builder.addAtts(NcStream.encodeAtt(att));

    for (CoverageCoordSys gcs : gridDataset.getCoordSys())
      builder.addCoordSys(encodeCoordSys(gcs));

    for (CoverageTransform gct : gridDataset.getCoordTransforms())
      builder.addCoordTransforms(encodeCoordTransform(gct));

    for (CoverageCoordAxis axis : gridDataset.getCoordAxes())
      builder.addCoordAxes(encodeCoordAxis(axis));

    for (Coverage grid : gridDataset.getCoverages())
      builder.addGrids(encodeGrid(grid));

    return builder;
  }
CdmrFeatureProto . CoverageDataset . Builder encodeHeader ( CoverageCollection gridDataset , String location ) { CdmrFeatureProto . CoverageDataset . Builder builder = CdmrFeatureProto . CoverageDataset . newBuilder ( ) ; builder . setName ( location ) ; builder . setCoverageType ( convertCoverageType ( gridDataset . getCoverageType ( ) ) ) ; builder . setDateRange ( encodeDateRange ( gridDataset . getCalendarDateRange ( ) ) ) ; if ( gridDataset . getLatlonBoundingBox ( ) != null ) builder . setLatlonRect ( encodeRectangle ( gridDataset . getLatlonBoundingBox ( ) ) ) ; if ( gridDataset . getProjBoundingBox ( ) != null ) builder . setProjRect ( encodeRectangle ( gridDataset . getProjBoundingBox ( ) ) ) ; for ( Attribute att : gridDataset . getGlobalAttributes ( ) ) builder . addAtts ( NcStream . encodeAtt ( att ) ) ; for ( CoverageCoordSys gcs : gridDataset . getCoordSys ( ) ) builder . addCoordSys ( encodeCoordSys ( gcs ) ) ; for ( CoverageTransform gct : gridDataset . getCoordTransforms ( ) ) builder . addCoordTransforms ( encodeCoordTransform ( gct ) ) ; for ( CoverageCoordAxis axis : gridDataset . getCoordAxes ( ) ) builder . addCoordAxes ( encodeCoordAxis ( axis ) ) ; for ( Coverage grid : gridDataset . getCoverages ( ) ) builder . addGrids ( encodeGrid ( grid ) ) ; return builder ; }
/* message CoverageDataset {
required string name = 1;
repeated Attribute atts = 2;
required Rectangle latlonRect = 3;
optional Rectangle projRect = 4;
required CalendarDateRange timeRange = 5;

repeated CoordSys coordSys = 6;
repeated CoordTransform coordTransforms = 7;
repeated CoordAxis coordAxes = 8;
repeated Coverage grids = 9;
}
/ * message CoverageDataset { required string name = 1 ; repeated Attribute atts = 2 ; required Rectangle latlonRect = 3 ; optional Rectangle projRect = 4 ; required CalendarDateRange timeRange = 5 ;