Table of Contents

Class GribProduct

Namespace
EncDotNet.S100.Datasets.Grib
Assembly
EncDotNet.S100.Datasets.Grib.dll

The product definition section (Section 4) of a GRIB2 field: the parameter, its level and its times.

public sealed class GribProduct
Inheritance
GribProduct
Inherited Members

Remarks

Templates 4.0 (analysis or forecast at a point in time) and 4.8 (a statistic over a time interval, such as a maximum gust) are read in full. For any other template only ParameterCategory and ParameterNumber are read (they're in the same place in every template), the rest are null, and the field's UnsupportedReason names the template.

For template 4.8, ForecastTime is the start of the overall time interval and IntervalEnd its end; the field is valid at the end, as wgrib2 and ecCodes report it ("0-3 hour max fcst").

Properties

FirstSurface

The first fixed surface, or null when the template has none or its type is 255.

public GribFixedSurface? FirstSurface { get; }

Property Value

GribFixedSurface?

ForecastTime

The forecast time from the reference time; for template 4.8, the start of the overall time interval.

public GribTimeRange? ForecastTime { get; }

Property Value

GribTimeRange?

GeneratingProcessIdentifier

The centre's identifier of the generating process (model), for example NCEP's 96 for GFS.

public byte? GeneratingProcessIdentifier { get; }

Property Value

byte?

GeneratingProcessType

The type of generating process (code table 4.3), for example 0 analysis or 2 forecast.

public byte? GeneratingProcessType { get; }

Property Value

byte?

IntervalEnd

For template 4.8, the end of the overall time interval, in UTC; otherwise null.

public DateTime? IntervalEnd { get; }

Property Value

DateTime?

MissingInStatisticalProcess

For template 4.8, the total number of data values missing in the statistical process.

public long? MissingInStatisticalProcess { get; }

Property Value

long?

ParameterCategory

The parameter category (code table 4.1), for example 2 for momentum.

public byte ParameterCategory { get; }

Property Value

byte

ParameterNumber

The parameter number (code table 4.2), for example 2 for the u-component of wind.

public byte ParameterNumber { get; }

Property Value

byte

SecondSurface

The second fixed surface of a layer, or null.

public GribFixedSurface? SecondSurface { get; }

Property Value

GribFixedSurface?

StatisticalProcesses

For template 4.8, the time range specifications, outermost first; otherwise empty.

public IReadOnlyList<GribStatisticalProcess> StatisticalProcesses { get; }

Property Value

IReadOnlyList<GribStatisticalProcess>

TemplateNumber

The product definition template number (code table 4.0).

public int TemplateNumber { get; }

Property Value

int

Methods

GetValidTime(DateTime)

The time the field is valid for: IntervalEnd for a statistic, otherwise the reference time plus ForecastTime.

public DateTime? GetValidTime(DateTime referenceTime)

Parameters

referenceTime DateTime

The message's reference time (Section 1).

Returns

DateTime?

The valid time, or null when the template isn't read.