@@ -132,14 +132,14 @@ let product = ProductDefinition {
132132 parameter_category : 0 ,
133133 parameter_number : 0 ,
134134 template : ProductDefinitionTemplate :: AnalysisOrForecast (AnalysisOrForecastTemplate {
135- generating_process : 2 ,
135+ type_of_generating_process : 2 ,
136+ background_generating_process_identifier : 0 ,
137+ generating_process_identifier : 0 ,
138+ hours_after_data_cutoff : Some (0 ),
139+ minutes_after_data_cutoff : Some (0 ),
136140 forecast_time_unit : 1 ,
137141 forecast_time : 6 ,
138- first_surface : Some (FixedSurface {
139- surface_type : 103 ,
140- scale_factor : 0 ,
141- scaled_value : 850 ,
142- }),
142+ first_surface : Some (FixedSurface :: with_value (103 , 0 , 850 )),
143143 second_surface : None ,
144144 }),
145145};
@@ -163,6 +163,8 @@ GribWriter::new(&mut bytes).write_grib2_message([field])?;
163163- Logical field indexing for multi-field GRIB2 messages
164164- GRIB2 Section 2 access and same-message bitmap reuse through indicator 254
165165- Regular latitude/longitude grids for GRIB1 and GRIB2
166+ - Reader GRIB2 rotated latitude/longitude template 3.1 and regular Gaussian
167+ template 3.40, with explicit typed rejection of quasi-regular grids
166168- Reader GRIB2 Mercator grid template 3.10, polar stereographic grid template
167169 3.20, Lambert conformal grid template 3.30, and Albers equal-area grid
168170 template 3.31 metadata, projected coordinate offsets, and flat data decode
@@ -174,7 +176,10 @@ GribWriter::new(&mut bytes).write_grib2_message([field])?;
174176- Typed metadata access for reference time, parameter identity, product metadata, grid geometry, and lat/lon coordinates
175177- Explicit north-up decode methods in addition to reader order that preserves
176178 the encoded i/j scan directions
177- - Reader and writer GRIB2 product definition templates 4.0, 4.1, 4.8, and 4.11
179+ - Reader GRIB2 product definition templates 4.0, 4.1, 4.2, 4.5, 4.6, 4.8,
180+ 4.9, 4.10, 4.11, 4.12, and 4.15
181+ - Writer GRIB2 product definition templates 4.0, 4.1, 4.2, 4.5, 4.6, 4.8,
182+ 4.9, 4.10, 4.11, 4.12, and 4.15
178183- Forecast valid-time helpers for supported fixed-width GRIB1/GRIB2 time units
179184- ` GribFile::builder() ` for strict or tolerant scanning and allocation limits
180185- Bitmap application with missing values surfaced as ` NaN `
@@ -194,11 +199,16 @@ GribWriter::new(&mut bytes).write_grib2_message([field])?;
194199
195200## Not Yet Supported
196201
197- - Remaining GRIB2 grid templates beyond 3.0, 3.10, 3.20, 3.30, and 3.31
198- - Remaining GRIB2 product definition templates beyond 4.0, 4.1, 4.8, and 4.11
202+ - Remaining GRIB2 grid templates beyond 3.0, 3.1, 3.10, 3.20, 3.30, 3.31,
203+ and 3.40
204+ - Remaining reader GRIB2 product definition templates beyond 4.0, 4.1, 4.2,
205+ 4.5, 4.6, 4.8, 4.9, 4.10, 4.11, 4.12, and 4.15
206+ - Remaining writer GRIB2 product definition templates beyond 4.0, 4.1, 4.2,
207+ 4.5, 4.6, 4.8, 4.9, 4.10, 4.11, 4.12, and 4.15
199208- Writer GRIB2 row-by-row complex packing
200209
201- Unsupported cases fail explicitly with typed errors.
210+ Unsupported decode and encode operations fail explicitly with typed errors;
211+ unknown GRIB2 product templates remain indexable with their raw bytes preserved.
202212Calendar-dependent forecast units such as months and years are exposed through
203213raw metadata but currently return ` None ` from ` valid_time() ` .
204214
0 commit comments