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.FileIndex
— TypeSummary
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)