@Override
  public double getForecastTimeIntervalSizeInHours(Grib2Pds pds) {
    Grib2Pds.PdsInterval pdsIntv = (Grib2Pds.PdsInterval) pds;

    // override here only if timeRangeUnit = 255
    boolean needOverride = false;
    for (Grib2Pds.TimeInterval ti : pdsIntv.getTimeIntervals()) {
      needOverride = (ti.timeRangeUnit == 255);
    }
    if (!needOverride)
      return super.getForecastTimeIntervalSizeInHours(pds);


    return 12.0;
  }
@Override
  public double getForecastTimeIntervalSizeInHours(Grib2Pds pds) {
    Grib2Pds.PdsInterval pdsIntv = (Grib2Pds.PdsInterval) pds;

    
    boolean needOverride = false;
    for (Grib2Pds.TimeInterval ti : pdsIntv.getTimeIntervals()) {
      needOverride = (ti.timeRangeUnit == 255);
    }
    if (!needOverride)
      return super.getForecastTimeIntervalSizeInHours(pds);


    return 12.0;
  }
@ Override public double getForecastTimeIntervalSizeInHours ( Grib2Pds pds ) { Grib2Pds . PdsInterval pdsIntv = ( Grib2Pds . PdsInterval ) pds ; // override here only if timeRangeUnit = 255 boolean needOverride = false ; for ( Grib2Pds . TimeInterval ti : pdsIntv . getTimeIntervals ( ) ) { needOverride = ( ti . timeRangeUnit == 255 ) ; } if ( ! needOverride ) return super . getForecastTimeIntervalSizeInHours ( pds ) ; return 12.0 ; }
Only use in GribVariable to decide on variable identity when intvMerge = false.
By returning a constant, we dont intvMerge = false.
Problem is we cant reconstruct interval length without reference time, which is not in the pds.
Only use in GribVariable to decide on variable identity when intvMerge = false . By returning a constant we dont intvMerge = false . Problem is we cant reconstruct interval length without reference time which is not in the pds .