grib/src/main/java/ucar/nc2/grib/collection/GribCdmIndex.java
public static GribCollectionImmutable openGribCollection(FeatureCollectionConfig config, CollectionUpdateType updateType, Logger logger) throws IOException {

    // update if needed
    boolean changed = updateGribCollection(config, updateType, logger);

    File idxFile = makeTopIndexFileFromConfig(config);

    // If call to updateGribCollection shows a change happened, then collection changed.
    // If updateType is never (tds is in charge of updating, not TDM or some other external application),
    // then this is being called after receiving an outside trigger. Assume collection changed.
    //
    // At this point, there isn't a good way of invalidating the gribColectionCache entries associated with the
    // particular collection being updated, so we have to clear the whole cache. Will revisit this in
    // 5.0 if performance is an issue
    if ((updateType == CollectionUpdateType.never) || changed) {
      gribCollectionCache.clearCache(true);
    }

    return openCdmIndex(idxFile.getPath(), config, true, logger);
  }
public static GribCollectionImmutable openGribCollection(FeatureCollectionConfig config, CollectionUpdateType updateType, Logger logger) throws IOException {

    // update if needed
    boolean changed = updateGribCollection(config, updateType, logger);

    File idxFile = makeTopIndexFileFromConfig(config);

    // If call to updateGribCollection shows a change happened, then collection changed.
    // If updateType is never (tds is in charge of updating, not TDM or some other external application),
    // then this is being called after receiving an outside trigger. Assume collection changed.
    //
    // At this point, there isn't a good way of invalidating the gribColectionCache entries associated with the
    // particular collection being updated, so we have to clear the whole cache. Will revisit this in
    // 5.0 if performance is an issue
    if ((updateType == CollectionUpdateType.never) || changed) {
      gribCollectionCache.clearCache(true);
    }

    return openCdmIndex(idxFile.getPath(), config, true, logger);
  }
Open GribCollection from config.
CollectionUpdater calls InvDatasetFc.update() calls InvDatasetFcGrib.updateCollection()