Indexing

GRIB.jl is by CfGRIB to read the GRIB files, GRIB.jl provides its own ways to create, read, and filter an index, however cfgrib.py uses a different approach to indexing. So, CfGRIB.jl, being based on the python implementation, recreates the python approach instead of integrating with the GRIB.jl indexing approach.

The indexing file defines the FileIndex type, as well as the constructors for that type.


    CfGRIB.FileIndexType

    Summary

    mutable struct FileIndex

    A mutable store for indices of a GRIB file

    Fields

    • allowed_protocol_version::VersionNumber

      Version number used when saving/hashing index files, should change if the indexing structure changes breaking backwards-compatibility

    • grib_path::String

      Path to the file the index belongs to

    • index_path::String

      Path to the index cache file

    • index_keys::Array{String,1}

      Array containing all of the index keys

    • offsets::Array{Pair{NamedTuple,Int64},1}

      Array containing pairs of offsets[HeaderTuple(header_values)] => offset_field

    • message_lengths::Array{Int64,1}

      Array containing the length of each message in the GRIB file

    • header_values::OrderedCollections.OrderedDict{String,Array}

      Dictionary of all of the loaded header values in the GRIB file

    • filter_by_keys::Dict

      Filters used when creating the file index

    Constructors

    FileIndex()
    FileIndex(grib_path, index_keys)