Merge branch 'develop' into feature/ECC-1467_grib_power_single_precision

This commit is contained in:
Shahram Najm 2023-06-22 17:06:34 +01:00
commit 53a62ee885
36 changed files with 254 additions and 372 deletions

View File

@ -8,7 +8,7 @@ ecmf 3 pt K Potential temperature
ecmf 60 pv K m**2 kg**-1 s**-1 Potential vorticity
ecmf 235 skt K Skin temperature
ecmf 228141 sd kg m**-2 Snow depth water equivalent
ecmf 228144 sf kg m**-2 Snow Fall water equivalent
ecmf 228144 sf kg m**-2 Snowfall water equivalent
ecmf 228039 sm kg m**-3 Soil moisture
ecmf 228139 st K Soil temperature
ecmf 133 q kg kg**-1 Specific humidity

View File

@ -162,8 +162,8 @@
table2Version = 3 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
'p3062' = {
#Large-scale precipitation
'lsp' = {
table2Version = 3 ;
indicatorOfParameter = 62 ;
}
@ -532,8 +532,8 @@
table2Version = 3 ;
indicatorOfParameter = 98 ;
}
#Snow melt
'p3099' = {
#Snowmelt
'snom' = {
table2Version = 3 ;
indicatorOfParameter = 99 ;
}
@ -678,7 +678,7 @@
table2Version = 3 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'sf' = {
table2Version = 3 ;
indicatorOfParameter = 65 ;
@ -858,8 +858,8 @@
table2Version = 2 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
'p3062' = {
#Large-scale precipitation
'lsp' = {
table2Version = 2 ;
indicatorOfParameter = 62 ;
}
@ -1213,8 +1213,8 @@
table2Version = 2 ;
indicatorOfParameter = 98 ;
}
#Snow melt
'p3099' = {
#Snowmelt
'snom' = {
table2Version = 2 ;
indicatorOfParameter = 99 ;
}
@ -1359,7 +1359,7 @@
table2Version = 2 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'sf' = {
table2Version = 2 ;
indicatorOfParameter = 65 ;
@ -1539,8 +1539,8 @@
table2Version = 1 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
'p3062' = {
#Large-scale precipitation
'lsp' = {
table2Version = 1 ;
indicatorOfParameter = 62 ;
}
@ -1894,8 +1894,8 @@
table2Version = 1 ;
indicatorOfParameter = 98 ;
}
#Snow melt
'p3099' = {
#Snowmelt
'snom' = {
table2Version = 1 ;
indicatorOfParameter = 99 ;
}
@ -2040,7 +2040,7 @@
table2Version = 1 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'sf' = {
table2Version = 1 ;
indicatorOfParameter = 65 ;

View File

@ -17614,7 +17614,7 @@
table2Version = 228 ;
indicatorOfParameter = 141 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'sf' = {
table2Version = 228 ;
indicatorOfParameter = 144 ;

View File

@ -17614,8 +17614,8 @@
table2Version = 228 ;
indicatorOfParameter = 141 ;
}
#Snow Fall water equivalent
'Snow Fall water equivalent' = {
#Snowfall water equivalent
'Snowfall water equivalent' = {
table2Version = 228 ;
indicatorOfParameter = 144 ;
}

View File

@ -17614,7 +17614,7 @@
table2Version = 228 ;
indicatorOfParameter = 141 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'228144' = {
table2Version = 228 ;
indicatorOfParameter = 144 ;

View File

@ -17614,7 +17614,7 @@
table2Version = 228 ;
indicatorOfParameter = 141 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'sf' = {
table2Version = 228 ;
indicatorOfParameter = 144 ;

View File

@ -17614,7 +17614,7 @@
table2Version = 228 ;
indicatorOfParameter = 141 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'kg m**-2' = {
table2Version = 228 ;
indicatorOfParameter = 144 ;

View File

@ -785,7 +785,7 @@
table2Version = 200 ;
indicatorOfParameter = 98 ;
}
#Snow melt
#Snowmelt
'snom' = {
table2Version = 200 ;
indicatorOfParameter = 99 ;

View File

@ -785,8 +785,8 @@
table2Version = 200 ;
indicatorOfParameter = 98 ;
}
#Snow melt
'Snow melt' = {
#Snowmelt
'Snowmelt' = {
table2Version = 200 ;
indicatorOfParameter = 99 ;
}

View File

@ -785,7 +785,7 @@
table2Version = 200 ;
indicatorOfParameter = 98 ;
}
#Snow melt
#Snowmelt
'3099' = {
table2Version = 200 ;
indicatorOfParameter = 99 ;

View File

@ -785,7 +785,7 @@
table2Version = 200 ;
indicatorOfParameter = 98 ;
}
#Snow melt
#Snowmelt
'snom' = {
table2Version = 200 ;
indicatorOfParameter = 99 ;

View File

@ -785,7 +785,7 @@
table2Version = 200 ;
indicatorOfParameter = 98 ;
}
#Snow melt
#Snowmelt
'kg m**-2' = {
table2Version = 200 ;
indicatorOfParameter = 99 ;

View File

@ -162,8 +162,8 @@
table2Version = 3 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
'large scale precipitation' = {
#Large-scale precipitation
'Large-scale precipitation' = {
table2Version = 3 ;
indicatorOfParameter = 62 ;
}
@ -532,8 +532,8 @@
table2Version = 3 ;
indicatorOfParameter = 98 ;
}
#Snow melt
'Snow melt' = {
#Snowmelt
'Snowmelt' = {
table2Version = 3 ;
indicatorOfParameter = 99 ;
}
@ -678,8 +678,8 @@
table2Version = 3 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
'Snow Fall water equivalent' = {
#Snowfall water equivalent
'Snowfall water equivalent' = {
table2Version = 3 ;
indicatorOfParameter = 65 ;
}
@ -858,8 +858,8 @@
table2Version = 2 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
'large scale precipitation' = {
#Large-scale precipitation
'Large-scale precipitation' = {
table2Version = 2 ;
indicatorOfParameter = 62 ;
}
@ -1213,8 +1213,8 @@
table2Version = 2 ;
indicatorOfParameter = 98 ;
}
#Snow melt
'Snow melt' = {
#Snowmelt
'Snowmelt' = {
table2Version = 2 ;
indicatorOfParameter = 99 ;
}
@ -1359,8 +1359,8 @@
table2Version = 2 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
'Snow Fall water equivalent' = {
#Snowfall water equivalent
'Snowfall water equivalent' = {
table2Version = 2 ;
indicatorOfParameter = 65 ;
}
@ -1539,8 +1539,8 @@
table2Version = 1 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
'large scale precipitation' = {
#Large-scale precipitation
'Large-scale precipitation' = {
table2Version = 1 ;
indicatorOfParameter = 62 ;
}
@ -1894,8 +1894,8 @@
table2Version = 1 ;
indicatorOfParameter = 98 ;
}
#Snow melt
'Snow melt' = {
#Snowmelt
'Snowmelt' = {
table2Version = 1 ;
indicatorOfParameter = 99 ;
}
@ -2040,8 +2040,8 @@
table2Version = 1 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
'Snow Fall water equivalent' = {
#Snowfall water equivalent
'Snowfall water equivalent' = {
table2Version = 1 ;
indicatorOfParameter = 65 ;
}

View File

@ -162,7 +162,7 @@
table2Version = 3 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
#Large-scale precipitation
'3062' = {
table2Version = 3 ;
indicatorOfParameter = 62 ;
@ -532,7 +532,7 @@
table2Version = 3 ;
indicatorOfParameter = 98 ;
}
#Snow melt
#Snowmelt
'3099' = {
table2Version = 3 ;
indicatorOfParameter = 99 ;
@ -678,7 +678,7 @@
table2Version = 3 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'228144' = {
table2Version = 3 ;
indicatorOfParameter = 65 ;
@ -858,7 +858,7 @@
table2Version = 2 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
#Large-scale precipitation
'3062' = {
table2Version = 2 ;
indicatorOfParameter = 62 ;
@ -1213,7 +1213,7 @@
table2Version = 2 ;
indicatorOfParameter = 98 ;
}
#Snow melt
#Snowmelt
'3099' = {
table2Version = 2 ;
indicatorOfParameter = 99 ;
@ -1359,7 +1359,7 @@
table2Version = 2 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'228144' = {
table2Version = 2 ;
indicatorOfParameter = 65 ;
@ -1539,7 +1539,7 @@
table2Version = 1 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
#Large-scale precipitation
'3062' = {
table2Version = 1 ;
indicatorOfParameter = 62 ;
@ -1894,7 +1894,7 @@
table2Version = 1 ;
indicatorOfParameter = 98 ;
}
#Snow melt
#Snowmelt
'3099' = {
table2Version = 1 ;
indicatorOfParameter = 99 ;
@ -2040,7 +2040,7 @@
table2Version = 1 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'228144' = {
table2Version = 1 ;
indicatorOfParameter = 65 ;

View File

@ -162,7 +162,7 @@
table2Version = 3 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
#Large-scale precipitation
'lsp' = {
table2Version = 3 ;
indicatorOfParameter = 62 ;
@ -532,7 +532,7 @@
table2Version = 3 ;
indicatorOfParameter = 98 ;
}
#Snow melt
#Snowmelt
'snom' = {
table2Version = 3 ;
indicatorOfParameter = 99 ;
@ -678,7 +678,7 @@
table2Version = 3 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'sf' = {
table2Version = 3 ;
indicatorOfParameter = 65 ;
@ -858,7 +858,7 @@
table2Version = 2 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
#Large-scale precipitation
'lsp' = {
table2Version = 2 ;
indicatorOfParameter = 62 ;
@ -1213,7 +1213,7 @@
table2Version = 2 ;
indicatorOfParameter = 98 ;
}
#Snow melt
#Snowmelt
'snom' = {
table2Version = 2 ;
indicatorOfParameter = 99 ;
@ -1359,7 +1359,7 @@
table2Version = 2 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'sf' = {
table2Version = 2 ;
indicatorOfParameter = 65 ;
@ -1539,7 +1539,7 @@
table2Version = 1 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
#Large-scale precipitation
'lsp' = {
table2Version = 1 ;
indicatorOfParameter = 62 ;
@ -1894,7 +1894,7 @@
table2Version = 1 ;
indicatorOfParameter = 98 ;
}
#Snow melt
#Snowmelt
'snom' = {
table2Version = 1 ;
indicatorOfParameter = 99 ;
@ -2040,7 +2040,7 @@
table2Version = 1 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'sf' = {
table2Version = 1 ;
indicatorOfParameter = 65 ;

View File

@ -162,7 +162,7 @@
table2Version = 3 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
#Large-scale precipitation
'kg m**-2' = {
table2Version = 3 ;
indicatorOfParameter = 62 ;
@ -532,7 +532,7 @@
table2Version = 3 ;
indicatorOfParameter = 98 ;
}
#Snow melt
#Snowmelt
'kg m**-2' = {
table2Version = 3 ;
indicatorOfParameter = 99 ;
@ -678,7 +678,7 @@
table2Version = 3 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'kg m**-2' = {
table2Version = 3 ;
indicatorOfParameter = 65 ;
@ -858,7 +858,7 @@
table2Version = 2 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
#Large-scale precipitation
'kg m**-2' = {
table2Version = 2 ;
indicatorOfParameter = 62 ;
@ -1213,7 +1213,7 @@
table2Version = 2 ;
indicatorOfParameter = 98 ;
}
#Snow melt
#Snowmelt
'kg m**-2' = {
table2Version = 2 ;
indicatorOfParameter = 99 ;
@ -1359,7 +1359,7 @@
table2Version = 2 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'kg m**-2' = {
table2Version = 2 ;
indicatorOfParameter = 65 ;
@ -1539,7 +1539,7 @@
table2Version = 1 ;
indicatorOfParameter = 10 ;
}
#large scale precipitation
#Large-scale precipitation
'kg m**-2' = {
table2Version = 1 ;
indicatorOfParameter = 62 ;
@ -1894,7 +1894,7 @@
table2Version = 1 ;
indicatorOfParameter = 98 ;
}
#Snow melt
#Snowmelt
'kg m**-2' = {
table2Version = 1 ;
indicatorOfParameter = 99 ;
@ -2040,7 +2040,7 @@
table2Version = 1 ;
indicatorOfParameter = 85 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'kg m**-2' = {
table2Version = 1 ;
indicatorOfParameter = 65 ;

View File

@ -508,7 +508,7 @@
parameterCategory = 6 ;
parameterNumber = 32 ;
}
#large scale precipitation
#Large-scale precipitation
'lsp' = {
discipline = 0 ;
parameterCategory = 1 ;
@ -6538,7 +6538,7 @@
parameterCategory = 2 ;
parameterNumber = 0 ;
}
#Snow melt
#Snowmelt
'snom' = {
discipline = 2 ;
parameterCategory = 0 ;
@ -8913,7 +8913,7 @@
parameterCategory = 1 ;
parameterNumber = 60 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'sf' = {
discipline = 0 ;
parameterCategory = 1 ;

View File

@ -201,7 +201,7 @@
scaledValueOfSecondFixedSurface = missing() ;
scaleFactorOfSecondFixedSurface = missing() ;
}
#Snow melt
#Snowmelt
'snom' = {
discipline = 0 ;
parameterCategory = 1 ;

View File

@ -201,8 +201,8 @@
scaledValueOfSecondFixedSurface = missing() ;
scaleFactorOfSecondFixedSurface = missing() ;
}
#Snow melt
'Snow melt' = {
#Snowmelt
'Snowmelt' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 16 ;

View File

@ -201,7 +201,7 @@
scaledValueOfSecondFixedSurface = missing() ;
scaleFactorOfSecondFixedSurface = missing() ;
}
#Snow melt
#Snowmelt
'3099' = {
discipline = 0 ;
parameterCategory = 1 ;

View File

@ -201,7 +201,7 @@
scaledValueOfSecondFixedSurface = missing() ;
scaleFactorOfSecondFixedSurface = missing() ;
}
#Snow melt
#Snowmelt
'snom' = {
discipline = 0 ;
parameterCategory = 1 ;

View File

@ -201,7 +201,7 @@
scaledValueOfSecondFixedSurface = missing() ;
scaleFactorOfSecondFixedSurface = missing() ;
}
#Snow melt
#Snowmelt
'kg m**-2' = {
discipline = 0 ;
parameterCategory = 1 ;

View File

@ -508,8 +508,8 @@
parameterCategory = 6 ;
parameterNumber = 32 ;
}
#large scale precipitation
'large scale precipitation' = {
#Large-scale precipitation
'Large-scale precipitation' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 54 ;
@ -6538,8 +6538,8 @@
parameterCategory = 2 ;
parameterNumber = 0 ;
}
#Snow melt
'Snow melt' = {
#Snowmelt
'Snowmelt' = {
discipline = 2 ;
parameterCategory = 0 ;
parameterNumber = 41 ;
@ -8913,8 +8913,8 @@
parameterCategory = 1 ;
parameterNumber = 60 ;
}
#Snow Fall water equivalent
'Snow Fall water equivalent' = {
#Snowfall water equivalent
'Snowfall water equivalent' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 53 ;

View File

@ -508,7 +508,7 @@
parameterCategory = 6 ;
parameterNumber = 32 ;
}
#large scale precipitation
#Large-scale precipitation
'3062' = {
discipline = 0 ;
parameterCategory = 1 ;
@ -6538,7 +6538,7 @@
parameterCategory = 2 ;
parameterNumber = 0 ;
}
#Snow melt
#Snowmelt
'3099' = {
discipline = 2 ;
parameterCategory = 0 ;
@ -8913,7 +8913,7 @@
parameterCategory = 1 ;
parameterNumber = 60 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'228144' = {
discipline = 0 ;
parameterCategory = 1 ;

View File

@ -508,7 +508,7 @@
parameterCategory = 6 ;
parameterNumber = 32 ;
}
#large scale precipitation
#Large-scale precipitation
'lsp' = {
discipline = 0 ;
parameterCategory = 1 ;
@ -6538,7 +6538,7 @@
parameterCategory = 2 ;
parameterNumber = 0 ;
}
#Snow melt
#Snowmelt
'snom' = {
discipline = 2 ;
parameterCategory = 0 ;
@ -8913,7 +8913,7 @@
parameterCategory = 1 ;
parameterNumber = 60 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'sf' = {
discipline = 0 ;
parameterCategory = 1 ;

View File

@ -508,7 +508,7 @@
parameterCategory = 6 ;
parameterNumber = 32 ;
}
#large scale precipitation
#Large-scale precipitation
'kg m**-2' = {
discipline = 0 ;
parameterCategory = 1 ;
@ -6538,7 +6538,7 @@
parameterCategory = 2 ;
parameterNumber = 0 ;
}
#Snow melt
#Snowmelt
'kg m**-2' = {
discipline = 2 ;
parameterCategory = 0 ;
@ -8913,7 +8913,7 @@
parameterCategory = 1 ;
parameterNumber = 60 ;
}
#Snow Fall water equivalent
#Snowfall water equivalent
'kg m**-2' = {
discipline = 0 ;
parameterCategory = 1 ;

View File

@ -137,7 +137,6 @@ list( APPEND eccodes_src_files
grib_accessor_class_scale.cc
grib_accessor_class_from_scale_factor_scaled_value.cc
grib_accessor_class_times.cc
grib_accessor_class_forward.cc
grib_accessor_class_g2bitmap_present.cc
grib_accessor_class_ibmfloat.cc
grib_accessor_class_ieeefloat.cc

View File

@ -619,25 +619,25 @@ int codes_bufr_extract_headers_malloc(grib_context* c, const char* filename, cod
if (!c)
c = grib_context_get_default();
if (path_is_directory(filename)) {
grib_context_log(c, GRIB_LOG_ERROR, "codes_bufr_extract_headers_malloc: \"%s\" is a directory", filename);
grib_context_log(c, GRIB_LOG_ERROR, "%s: \"%s\" is a directory", __func__, filename);
return GRIB_IO_PROBLEM;
}
fp = fopen(filename, "rb");
if (!fp) {
grib_context_log(c, GRIB_LOG_ERROR, "codes_bufr_extract_headers_malloc: Unable to read file \"%s\"", filename);
grib_context_log(c, GRIB_LOG_ERROR, "%s: Unable to read file \"%s\"", __func__, filename);
perror(filename);
return GRIB_IO_PROBLEM;
}
err = count_bufr_messages(c, fp, num_messages, strict_mode);
if (err) {
grib_context_log(c, GRIB_LOG_ERROR, "codes_bufr_extract_headers_malloc: Unable to count BUFR messages in file \"%s\"", filename);
grib_context_log(c, GRIB_LOG_ERROR, "%s: Unable to count BUFR messages in file \"%s\"", __func__, filename);
fclose(fp);
return err;
}
size = *num_messages;
if (size == 0) {
grib_context_log(c, GRIB_LOG_ERROR, "codes_bufr_extract_headers_malloc: No BUFR messages in file \"%s\"", filename);
grib_context_log(c, GRIB_LOG_ERROR, "%s: No BUFR messages in file \"%s\"", __func__, filename);
return GRIB_INVALID_MESSAGE;
}
*result = (codes_bufr_header*)calloc(size, sizeof(codes_bufr_header));
@ -668,7 +668,7 @@ int codes_bufr_extract_headers_malloc(grib_context* c, const char* filename, cod
if (!mesg) {
if (err != GRIB_END_OF_FILE && err != GRIB_PREMATURE_END_OF_FILE) {
// An error occurred
grib_context_log(c, GRIB_LOG_ERROR, "codes_bufr_extract_headers_malloc: Unable to read BUFR message");
grib_context_log(c, GRIB_LOG_ERROR, "%s: Unable to read BUFR message", __func__);
if (strict_mode) {
fclose(fp);
return GRIB_DECODING_ERROR;

View File

@ -488,8 +488,6 @@ int grib_g1_step_get_steps(grib_accessor* a, long* start, long* theEnd);
/* grib_accessor_class_times.cc*/
/* grib_accessor_class_forward.cc*/
/* grib_accessor_class_g2bitmap_present.cc*/
/* grib_accessor_class_ibmfloat.cc*/

View File

@ -74,7 +74,6 @@ extern grib_accessor_class* grib_accessor_class_double;
extern grib_accessor_class* grib_accessor_class_element;
extern grib_accessor_class* grib_accessor_class_evaluate;
extern grib_accessor_class* grib_accessor_class_expanded_descriptors;
extern grib_accessor_class* grib_accessor_class_forward;
extern grib_accessor_class* grib_accessor_class_from_scale_factor_scaled_value;
extern grib_accessor_class* grib_accessor_class_g1_half_byte_codeflag;
extern grib_accessor_class* grib_accessor_class_g1_message_length;

View File

@ -1,116 +0,0 @@
/*
* (C) Copyright 2005- ECMWF.
*
* This software is licensed under the terms of the Apache Licence Version 2.0
* which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
*
* In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
*/
#include "grib_api_internal.h"
/*
This is used by make_class.pl
START_CLASS_DEF
SUPER= grib_accessor_class_gen
CLASS = accessor
IMPLEMENTS = dump
END_CLASS_DEF
*/
/* START_CLASS_IMP */
/*
Don't edit anything between START_CLASS_IMP and END_CLASS_IMP
Instead edit values between START_CLASS_DEF and END_CLASS_DEF
or edit "accessor.class" and rerun ./make_class.pl
*/
static void dump(grib_accessor*, grib_dumper*);
//static void init_class(grib_accessor_class*);
typedef struct grib_accessor_forward
{
grib_accessor att;
/* Members defined in gen */
/* Members defined in forward */
} grib_accessor_forward;
extern grib_accessor_class* grib_accessor_class_gen;
static grib_accessor_class _grib_accessor_class_forward = {
&grib_accessor_class_gen, /* super */
"forward", /* name */
sizeof(grib_accessor_forward), /* size */
0, /* inited */
0, /* init_class */
0, /* init */
0, /* post_init */
0, /* destroy */
&dump, /* dump */
0, /* next_offset */
0, /* get length of string */
0, /* get number of values */
0, /* get number of bytes */
0, /* get offset to bytes */
0, /* get native type */
0, /* get sub_section */
0, /* pack_missing */
0, /* is_missing */
0, /* pack_long */
0, /* unpack_long */
0, /* pack_double */
0, /* pack_float */
0, /* unpack_double */
0, /* unpack_float */
0, /* pack_string */
0, /* unpack_string */
0, /* pack_string_array */
0, /* unpack_string_array */
0, /* pack_bytes */
0, /* unpack_bytes */
0, /* pack_expression */
0, /* notify_change */
0, /* update_size */
0, /* preferred_size */
0, /* resize */
0, /* nearest_smaller_value */
0, /* next accessor */
0, /* compare vs. another accessor */
0, /* unpack only ith value (double) */
0, /* unpack only ith value (float) */
0, /* unpack a given set of elements (double) */
0, /* unpack a given set of elements (float) */
0, /* unpack a subarray */
0, /* clear */
0, /* clone accessor */
};
grib_accessor_class* grib_accessor_class_forward = &_grib_accessor_class_forward;
//static void init_class(grib_accessor_class* c)
//{
// INIT
//}
/* END_CLASS_IMP */
static void dump(grib_accessor* a, grib_dumper* dumper)
{
// grib_accessor *target = grib_find_accessor(grib_handle_of_accessor(a),a->alias);
// if(target) {
// grib_dump_label(dumper,a,"is:");
// dumper->depth += 2;
// grib_accessor_dump(target, dumper);
// dumper->depth -= 2;
// }
// else grib_dump_label(dumper,a," undefined ");
}

View File

@ -37,7 +37,7 @@
#line 6 "accessor_class_list.gperf"
struct accessor_class_hash { char *name; grib_accessor_class **cclass;};
#define TOTAL_KEYWORDS 219
#define TOTAL_KEYWORDS 218
#define MIN_WORD_LENGTH 1
#define MAX_WORD_LENGTH 44
#define MIN_HASH_VALUE 1
@ -61,7 +61,7 @@ grib_accessor_classes_get_id (const char *str, size_t len)
680, 680, 680, 680, 680, 680, 680, 680, 680, 680,
680, 680, 0, 680, 680, 680, 680, 680, 680, 680,
680, 680, 680, 680, 680, 680, 680, 680, 0, 162,
41, 7, 0, 680, 34, 680, 7, 680, 680, 680,
41, 6, 0, 680, 34, 680, 8, 680, 680, 680,
680, 680, 680, 680, 680, 680, 680, 680, 680, 680,
680, 680, 680, 680, 680, 680, 680, 680, 680, 680,
680, 680, 680, 680, 680, 680, 680, 680, 680, 680,
@ -118,59 +118,59 @@ static const struct accessor_class_hash classes[] =
#line 9 "accessor_class_list.gperf"
{" "},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 156 "accessor_class_list.gperf"
#line 155 "accessor_class_list.gperf"
{"nearest", &grib_accessor_class_nearest},
{""}, {""}, {""}, {""}, {""}, {""},
#line 118 "accessor_class_list.gperf"
#line 117 "accessor_class_list.gperf"
{"gen", &grib_accessor_class_gen},
{""}, {""},
#line 119 "accessor_class_list.gperf"
#line 118 "accessor_class_list.gperf"
{"getenv", &grib_accessor_class_getenv},
#line 84 "accessor_class_list.gperf"
{"expanded_descriptors", &grib_accessor_class_expanded_descriptors},
{""}, {""}, {""}, {""}, {""},
#line 134 "accessor_class_list.gperf"
#line 133 "accessor_class_list.gperf"
{"int8", &grib_accessor_class_int8},
#line 132 "accessor_class_list.gperf"
#line 131 "accessor_class_list.gperf"
{"int64", &grib_accessor_class_int64},
#line 72 "accessor_class_list.gperf"
{"data_secondary_bitmap", &grib_accessor_class_data_secondary_bitmap},
#line 203 "accessor_class_list.gperf"
#line 202 "accessor_class_list.gperf"
{"time", &grib_accessor_class_time},
#line 69 "accessor_class_list.gperf"
{"data_png_packing", &grib_accessor_class_data_png_packing},
{""},
#line 191 "accessor_class_list.gperf"
#line 190 "accessor_class_list.gperf"
{"size", &grib_accessor_class_size},
#line 181 "accessor_class_list.gperf"
#line 180 "accessor_class_list.gperf"
{"second_order_bits_per_value", &grib_accessor_class_second_order_bits_per_value},
#line 188 "accessor_class_list.gperf"
#line 187 "accessor_class_list.gperf"
{"signed", &grib_accessor_class_signed},
#line 182 "accessor_class_list.gperf"
#line 181 "accessor_class_list.gperf"
{"section", &grib_accessor_class_section},
#line 204 "accessor_class_list.gperf"
#line 203 "accessor_class_list.gperf"
{"times", &grib_accessor_class_times},
#line 70 "accessor_class_list.gperf"
{"data_raw_packing", &grib_accessor_class_data_raw_packing},
#line 117 "accessor_class_list.gperf"
#line 116 "accessor_class_list.gperf"
{"gds_not_present_bitmap", &grib_accessor_class_gds_not_present_bitmap},
{""},
#line 13 "accessor_class_list.gperf"
{"ascii", &grib_accessor_class_ascii},
{""},
#line 183 "accessor_class_list.gperf"
#line 182 "accessor_class_list.gperf"
{"section_length", &grib_accessor_class_section_length},
#line 184 "accessor_class_list.gperf"
#line 183 "accessor_class_list.gperf"
{"section_padding", &grib_accessor_class_section_padding},
#line 197 "accessor_class_list.gperf"
#line 196 "accessor_class_list.gperf"
{"statistics", &grib_accessor_class_statistics},
#line 200 "accessor_class_list.gperf"
#line 199 "accessor_class_list.gperf"
{"step_in_units", &grib_accessor_class_step_in_units},
#line 189 "accessor_class_list.gperf"
#line 188 "accessor_class_list.gperf"
{"signed_bits", &grib_accessor_class_signed_bits},
#line 194 "accessor_class_list.gperf"
#line 193 "accessor_class_list.gperf"
{"spd", &grib_accessor_class_spd},
#line 168 "accessor_class_list.gperf"
#line 167 "accessor_class_list.gperf"
{"pad", &grib_accessor_class_pad},
#line 76 "accessor_class_list.gperf"
{"data_simple_packing", &grib_accessor_class_data_simple_packing},
@ -178,39 +178,39 @@ static const struct accessor_class_hash classes[] =
#line 79 "accessor_class_list.gperf"
{"dirty", &grib_accessor_class_dirty},
{""}, {""},
#line 198 "accessor_class_list.gperf"
#line 197 "accessor_class_list.gperf"
{"statistics_spectral", &grib_accessor_class_statistics_spectral},
#line 78 "accessor_class_list.gperf"
{"dictionary", &grib_accessor_class_dictionary},
{""},
#line 116 "accessor_class_list.gperf"
#line 115 "accessor_class_list.gperf"
{"gds_is_present", &grib_accessor_class_gds_is_present},
{""},
#line 113 "accessor_class_list.gperf"
#line 112 "accessor_class_list.gperf"
{"g2lon", &grib_accessor_class_g2lon},
#line 206 "accessor_class_list.gperf"
#line 205 "accessor_class_list.gperf"
{"to_integer", &grib_accessor_class_to_integer},
#line 128 "accessor_class_list.gperf"
#line 127 "accessor_class_list.gperf"
{"int16", &grib_accessor_class_int16},
{""},
#line 108 "accessor_class_list.gperf"
#line 107 "accessor_class_list.gperf"
{"g2date", &grib_accessor_class_g2date},
#line 46 "accessor_class_list.gperf"
{"data_apply_bitmap", &grib_accessor_class_data_apply_bitmap},
{""},
#line 185 "accessor_class_list.gperf"
#line 184 "accessor_class_list.gperf"
{"section_pointer", &grib_accessor_class_section_pointer},
#line 68 "accessor_class_list.gperf"
{"data_jpeg2000_packing", &grib_accessor_class_data_jpeg2000_packing},
#line 130 "accessor_class_list.gperf"
#line 129 "accessor_class_list.gperf"
{"int32", &grib_accessor_class_int32},
#line 61 "accessor_class_list.gperf"
{"data_g22order_packing", &grib_accessor_class_data_g22order_packing},
#line 109 "accessor_class_list.gperf"
#line 108 "accessor_class_list.gperf"
{"g2end_step", &grib_accessor_class_g2end_step},
#line 49 "accessor_class_list.gperf"
{"data_apply_gdsnotpresent", &grib_accessor_class_data_apply_gdsnotpresent},
#line 106 "accessor_class_list.gperf"
#line 105 "accessor_class_list.gperf"
{"g2bitmap", &grib_accessor_class_g2bitmap},
#line 47 "accessor_class_list.gperf"
{"data_apply_boustrophedonic", &grib_accessor_class_data_apply_boustrophedonic},
@ -220,55 +220,55 @@ static const struct accessor_class_hash classes[] =
{""}, {""}, {""}, {""},
#line 48 "accessor_class_list.gperf"
{"data_apply_boustrophedonic_bitmap", &grib_accessor_class_data_apply_boustrophedonic_bitmap},
#line 114 "accessor_class_list.gperf"
#line 113 "accessor_class_list.gperf"
{"g2step_range", &grib_accessor_class_g2step_range},
{""},
#line 110 "accessor_class_list.gperf"
#line 109 "accessor_class_list.gperf"
{"g2grid", &grib_accessor_class_g2grid},
{""},
#line 207 "accessor_class_list.gperf"
#line 206 "accessor_class_list.gperf"
{"to_string", &grib_accessor_class_to_string},
{""}, {""},
#line 135 "accessor_class_list.gperf"
#line 134 "accessor_class_list.gperf"
{"iterator", &grib_accessor_class_iterator},
#line 169 "accessor_class_list.gperf"
#line 168 "accessor_class_list.gperf"
{"padding", &grib_accessor_class_padding},
{""}, {""},
#line 210 "accessor_class_list.gperf"
#line 209 "accessor_class_list.gperf"
{"trim", &grib_accessor_class_trim},
{""},
#line 65 "accessor_class_list.gperf"
{"data_g2shsimple_packing", &grib_accessor_class_data_g2shsimple_packing},
#line 175 "accessor_class_list.gperf"
#line 174 "accessor_class_list.gperf"
{"raw", &grib_accessor_class_raw},
{""},
#line 82 "accessor_class_list.gperf"
{"element", &grib_accessor_class_element},
#line 170 "accessor_class_list.gperf"
#line 169 "accessor_class_list.gperf"
{"padto", &grib_accessor_class_padto},
#line 104 "accessor_class_list.gperf"
#line 103 "accessor_class_list.gperf"
{"g2_eps", &grib_accessor_class_g2_eps},
{""}, {""},
#line 157 "accessor_class_list.gperf"
#line 156 "accessor_class_list.gperf"
{"non_alpha", &grib_accessor_class_non_alpha},
#line 208 "accessor_class_list.gperf"
#line 207 "accessor_class_list.gperf"
{"transient", &grib_accessor_class_transient},
#line 14 "accessor_class_list.gperf"
{"assert", &grib_accessor_class_assert},
{""},
#line 141 "accessor_class_list.gperf"
#line 140 "accessor_class_list.gperf"
{"latitudes", &grib_accessor_class_latitudes},
{""},
#line 66 "accessor_class_list.gperf"
{"data_g2simple_packing", &grib_accessor_class_data_g2simple_packing},
#line 63 "accessor_class_list.gperf"
{"data_g2complex_packing", &grib_accessor_class_data_g2complex_packing},
#line 209 "accessor_class_list.gperf"
#line 208 "accessor_class_list.gperf"
{"transient_darray", &grib_accessor_class_transient_darray},
{""},
#line 102 "accessor_class_list.gperf"
#line 101 "accessor_class_list.gperf"
{"g2_aerosol", &grib_accessor_class_g2_aerosol},
#line 111 "accessor_class_list.gperf"
#line 110 "accessor_class_list.gperf"
{"g2latlon", &grib_accessor_class_g2latlon},
{""}, {""}, {""}, {""}, {""},
#line 64 "accessor_class_list.gperf"
@ -278,77 +278,77 @@ static const struct accessor_class_hash classes[] =
#line 12 "accessor_class_list.gperf"
{"array", &grib_accessor_class_array},
{""}, {""}, {""}, {""},
#line 176 "accessor_class_list.gperf"
#line 175 "accessor_class_list.gperf"
{"rdbtime_guess_date", &grib_accessor_class_rdbtime_guess_date},
#line 67 "accessor_class_list.gperf"
{"data_g2simple_packing_with_preprocessing", &grib_accessor_class_data_g2simple_packing_with_preprocessing},
{""}, {""},
#line 120 "accessor_class_list.gperf"
#line 119 "accessor_class_list.gperf"
{"global_gaussian", &grib_accessor_class_global_gaussian},
{""},
#line 187 "accessor_class_list.gperf"
#line 186 "accessor_class_list.gperf"
{"sexagesimal2decimal", &grib_accessor_class_sexagesimal2decimal},
#line 140 "accessor_class_list.gperf"
#line 139 "accessor_class_list.gperf"
{"laplacian", &grib_accessor_class_laplacian},
{""},
#line 201 "accessor_class_list.gperf"
#line 200 "accessor_class_list.gperf"
{"sum", &grib_accessor_class_sum},
{""},
#line 115 "accessor_class_list.gperf"
#line 114 "accessor_class_list.gperf"
{"gaussian_grid_name", &grib_accessor_class_gaussian_grid_name},
#line 178 "accessor_class_list.gperf"
#line 177 "accessor_class_list.gperf"
{"round", &grib_accessor_class_round},
#line 146 "accessor_class_list.gperf"
#line 145 "accessor_class_list.gperf"
{"long", &grib_accessor_class_long},
{""},
#line 81 "accessor_class_list.gperf"
{"double", &grib_accessor_class_double},
#line 190 "accessor_class_list.gperf"
#line 189 "accessor_class_list.gperf"
{"simple_packing_error", &grib_accessor_class_simple_packing_error},
#line 121 "accessor_class_list.gperf"
#line 120 "accessor_class_list.gperf"
{"group", &grib_accessor_class_group},
{""},
#line 173 "accessor_class_list.gperf"
#line 172 "accessor_class_list.gperf"
{"position", &grib_accessor_class_position},
#line 137 "accessor_class_list.gperf"
{"julian_day", &grib_accessor_class_julian_day},
#line 136 "accessor_class_list.gperf"
{"julian_day", &grib_accessor_class_julian_day},
#line 135 "accessor_class_list.gperf"
{"julian_date", &grib_accessor_class_julian_date},
#line 220 "accessor_class_list.gperf"
#line 219 "accessor_class_list.gperf"
{"unsigned", &grib_accessor_class_unsigned},
{""}, {""},
#line 52 "accessor_class_list.gperf"
{"data_dummy_field", &grib_accessor_class_data_dummy_field},
{""},
#line 174 "accessor_class_list.gperf"
#line 173 "accessor_class_list.gperf"
{"proj_string", &grib_accessor_class_proj_string},
#line 15 "accessor_class_list.gperf"
{"bit", &grib_accessor_class_bit},
#line 17 "accessor_class_list.gperf"
{"bits", &grib_accessor_class_bits},
#line 199 "accessor_class_list.gperf"
#line 198 "accessor_class_list.gperf"
{"step_human_readable", &grib_accessor_class_step_human_readable},
#line 71 "accessor_class_list.gperf"
{"data_run_length_packing", &grib_accessor_class_data_run_length_packing},
#line 179 "accessor_class_list.gperf"
#line 178 "accessor_class_list.gperf"
{"scale", &grib_accessor_class_scale},
#line 195 "accessor_class_list.gperf"
#line 194 "accessor_class_list.gperf"
{"spectral_truncation", &grib_accessor_class_spectral_truncation},
#line 45 "accessor_class_list.gperf"
{"data_2order_packing", &grib_accessor_class_data_2order_packing},
#line 217 "accessor_class_list.gperf"
{"uint8", &grib_accessor_class_uint8},
#line 213 "accessor_class_list.gperf"
#line 212 "accessor_class_list.gperf"
{"uint32", &grib_accessor_class_uint32},
#line 216 "accessor_class_list.gperf"
{"uint8", &grib_accessor_class_uint8},
#line 31 "accessor_class_list.gperf"
{"bytes", &grib_accessor_class_bytes},
#line 16 "accessor_class_list.gperf"
{"bitmap", &grib_accessor_class_bitmap},
{""},
#line 107 "accessor_class_list.gperf"
#line 106 "accessor_class_list.gperf"
{"g2bitmap_present", &grib_accessor_class_g2bitmap_present},
{""}, {""},
#line 196 "accessor_class_list.gperf"
#line 195 "accessor_class_list.gperf"
{"sprintf", &grib_accessor_class_sprintf},
{""}, {""}, {""},
#line 18 "accessor_class_list.gperf"
@ -356,75 +356,74 @@ static const struct accessor_class_hash classes[] =
#line 50 "accessor_class_list.gperf"
{"data_ccsds_packing", &grib_accessor_class_data_ccsds_packing},
{""},
#line 221 "accessor_class_list.gperf"
#line 220 "accessor_class_list.gperf"
{"unsigned_bits", &grib_accessor_class_unsigned_bits},
#line 165 "accessor_class_list.gperf"
#line 164 "accessor_class_list.gperf"
{"offset_file", &grib_accessor_class_offset_file},
{""},
#line 85 "accessor_class_list.gperf"
{"forward", &grib_accessor_class_forward},
#line 214 "accessor_class_list.gperf"
#line 213 "accessor_class_list.gperf"
{"uint32_little_endian", &grib_accessor_class_uint32_little_endian},
#line 90 "accessor_class_list.gperf"
{""},
#line 89 "accessor_class_list.gperf"
{"g1area", &grib_accessor_class_g1area},
#line 159 "accessor_class_list.gperf"
#line 158 "accessor_class_list.gperf"
{"number_of_points", &grib_accessor_class_number_of_points},
{""},
#line 92 "accessor_class_list.gperf"
#line 91 "accessor_class_list.gperf"
{"g1date", &grib_accessor_class_g1date},
{""}, {""},
#line 139 "accessor_class_list.gperf"
#line 138 "accessor_class_list.gperf"
{"label", &grib_accessor_class_label},
#line 218 "accessor_class_list.gperf"
#line 217 "accessor_class_list.gperf"
{"unexpanded_descriptors", &grib_accessor_class_unexpanded_descriptors},
#line 215 "accessor_class_list.gperf"
#line 214 "accessor_class_list.gperf"
{"uint64", &grib_accessor_class_uint64},
{""},
#line 160 "accessor_class_list.gperf"
#line 159 "accessor_class_list.gperf"
{"number_of_points_gaussian", &grib_accessor_class_number_of_points_gaussian},
{""},
#line 91 "accessor_class_list.gperf"
#line 90 "accessor_class_list.gperf"
{"g1bitmap", &grib_accessor_class_g1bitmap},
{""}, {""},
#line 89 "accessor_class_list.gperf"
#line 88 "accessor_class_list.gperf"
{"g1_section4_length", &grib_accessor_class_g1_section4_length},
#line 126 "accessor_class_list.gperf"
#line 125 "accessor_class_list.gperf"
{"ieeefloat", &grib_accessor_class_ieeefloat},
{""},
#line 88 "accessor_class_list.gperf"
#line 87 "accessor_class_list.gperf"
{"g1_message_length", &grib_accessor_class_g1_message_length},
{""}, {""},
#line 100 "accessor_class_list.gperf"
#line 99 "accessor_class_list.gperf"
{"g1step_range", &grib_accessor_class_g1step_range},
{""}, {""},
#line 40 "accessor_class_list.gperf"
{"concept", &grib_accessor_class_concept},
#line 41 "accessor_class_list.gperf"
{"constant", &grib_accessor_class_constant},
#line 216 "accessor_class_list.gperf"
#line 215 "accessor_class_list.gperf"
{"uint64_little_endian", &grib_accessor_class_uint64_little_endian},
#line 80 "accessor_class_list.gperf"
{"divdouble", &grib_accessor_class_divdouble},
#line 227 "accessor_class_list.gperf"
#line 226 "accessor_class_list.gperf"
{"when", &grib_accessor_class_when},
#line 164 "accessor_class_list.gperf"
#line 163 "accessor_class_list.gperf"
{"octet_number", &grib_accessor_class_octet_number},
{""},
#line 105 "accessor_class_list.gperf"
#line 104 "accessor_class_list.gperf"
{"g2_mars_labeling", &grib_accessor_class_g2_mars_labeling},
#line 186 "accessor_class_list.gperf"
#line 185 "accessor_class_list.gperf"
{"select_step_template", &grib_accessor_class_select_step_template},
{""},
#line 59 "accessor_class_list.gperf"
{"data_g1shsimple_packing", &grib_accessor_class_data_g1shsimple_packing},
{""},
#line 133 "accessor_class_list.gperf"
#line 132 "accessor_class_list.gperf"
{"int64_little_endian", &grib_accessor_class_int64_little_endian},
{""}, {""},
#line 19 "accessor_class_list.gperf"
{"blob", &grib_accessor_class_blob},
{""}, {""}, {""},
#line 224 "accessor_class_list.gperf"
#line 223 "accessor_class_list.gperf"
{"values", &grib_accessor_class_values},
{""}, {""}, {""}, {""},
#line 60 "accessor_class_list.gperf"
@ -432,45 +431,45 @@ static const struct accessor_class_hash classes[] =
#line 53 "accessor_class_list.gperf"
{"data_g1complex_packing", &grib_accessor_class_data_g1complex_packing},
{""}, {""},
#line 147 "accessor_class_list.gperf"
#line 146 "accessor_class_list.gperf"
{"long_vector", &grib_accessor_class_long_vector},
#line 202 "accessor_class_list.gperf"
#line 201 "accessor_class_list.gperf"
{"suppressed", &grib_accessor_class_suppressed},
#line 122 "accessor_class_list.gperf"
#line 121 "accessor_class_list.gperf"
{"gts_header", &grib_accessor_class_gts_header},
#line 205 "accessor_class_list.gperf"
#line 204 "accessor_class_list.gperf"
{"to_double", &grib_accessor_class_to_double},
{""}, {""},
#line 145 "accessor_class_list.gperf"
#line 144 "accessor_class_list.gperf"
{"local_definition", &grib_accessor_class_local_definition},
#line 58 "accessor_class_list.gperf"
{"data_g1secondary_bitmap", &grib_accessor_class_data_g1secondary_bitmap},
#line 222 "accessor_class_list.gperf"
#line 221 "accessor_class_list.gperf"
{"validity_date", &grib_accessor_class_validity_date},
#line 144 "accessor_class_list.gperf"
#line 143 "accessor_class_list.gperf"
{"library_version", &grib_accessor_class_library_version},
{""}, {""},
#line 142 "accessor_class_list.gperf"
#line 141 "accessor_class_list.gperf"
{"latlon_increment", &grib_accessor_class_latlon_increment},
{""}, {""},
#line 94 "accessor_class_list.gperf"
#line 93 "accessor_class_list.gperf"
{"g1end_of_interval_monthly", &grib_accessor_class_g1end_of_interval_monthly},
{""}, {""},
#line 129 "accessor_class_list.gperf"
#line 128 "accessor_class_list.gperf"
{"int16_little_endian", &grib_accessor_class_int16_little_endian},
#line 56 "accessor_class_list.gperf"
{"data_g1second_order_general_packing", &grib_accessor_class_data_g1second_order_general_packing},
#line 35 "accessor_class_list.gperf"
{"closest_date", &grib_accessor_class_closest_date},
#line 125 "accessor_class_list.gperf"
#line 124 "accessor_class_list.gperf"
{"ibmfloat", &grib_accessor_class_ibmfloat},
#line 57 "accessor_class_list.gperf"
{"data_g1second_order_row_by_row_packing", &grib_accessor_class_data_g1second_order_row_by_row_packing},
#line 152 "accessor_class_list.gperf"
#line 151 "accessor_class_list.gperf"
{"md5", &grib_accessor_class_md5},
#line 223 "accessor_class_list.gperf"
#line 222 "accessor_class_list.gperf"
{"validity_time", &grib_accessor_class_validity_time},
#line 131 "accessor_class_list.gperf"
#line 130 "accessor_class_list.gperf"
{"int32_little_endian", &grib_accessor_class_int32_little_endian},
#line 54 "accessor_class_list.gperf"
{"data_g1second_order_constant_width_packing", &grib_accessor_class_data_g1second_order_constant_width_packing},
@ -480,36 +479,36 @@ static const struct accessor_class_hash classes[] =
{""}, {""},
#line 74 "accessor_class_list.gperf"
{"data_sh_unpacked", &grib_accessor_class_data_sh_unpacked},
#line 226 "accessor_class_list.gperf"
#line 225 "accessor_class_list.gperf"
{"vector", &grib_accessor_class_vector},
#line 20 "accessor_class_list.gperf"
{"budgdate", &grib_accessor_class_budgdate},
#line 153 "accessor_class_list.gperf"
#line 152 "accessor_class_list.gperf"
{"message", &grib_accessor_class_message},
#line 149 "accessor_class_list.gperf"
#line 148 "accessor_class_list.gperf"
{"lookup", &grib_accessor_class_lookup},
#line 75 "accessor_class_list.gperf"
{"data_shsimple_packing", &grib_accessor_class_data_shsimple_packing},
#line 138 "accessor_class_list.gperf"
#line 137 "accessor_class_list.gperf"
{"ksec1expver", &grib_accessor_class_ksec1expver},
{""},
#line 172 "accessor_class_list.gperf"
#line 171 "accessor_class_list.gperf"
{"padtomultiple", &grib_accessor_class_padtomultiple},
#line 151 "accessor_class_list.gperf"
#line 150 "accessor_class_list.gperf"
{"mars_step", &grib_accessor_class_mars_step},
#line 127 "accessor_class_list.gperf"
#line 126 "accessor_class_list.gperf"
{"ifs_param", &grib_accessor_class_ifs_param},
{""},
#line 192 "accessor_class_list.gperf"
#line 191 "accessor_class_list.gperf"
{"smart_table", &grib_accessor_class_smart_table},
{""},
#line 150 "accessor_class_list.gperf"
#line 149 "accessor_class_list.gperf"
{"mars_param", &grib_accessor_class_mars_param},
{""},
#line 22 "accessor_class_list.gperf"
{"bufr_data_element", &grib_accessor_class_bufr_data_element},
{""}, {""},
#line 193 "accessor_class_list.gperf"
#line 192 "accessor_class_list.gperf"
{"smart_table_column", &grib_accessor_class_smart_table_column},
{""},
#line 21 "accessor_class_list.gperf"
@ -520,10 +519,10 @@ static const struct accessor_class_hash classes[] =
#line 29 "accessor_class_list.gperf"
{"bufr_string_values", &grib_accessor_class_bufr_string_values},
{""}, {""}, {""},
#line 148 "accessor_class_list.gperf"
#line 147 "accessor_class_list.gperf"
{"longitudes", &grib_accessor_class_longitudes},
{""},
#line 158 "accessor_class_list.gperf"
#line 157 "accessor_class_list.gperf"
{"number_of_coded_values", &grib_accessor_class_number_of_coded_values},
{""},
#line 28 "accessor_class_list.gperf"
@ -531,30 +530,30 @@ static const struct accessor_class_hash classes[] =
#line 44 "accessor_class_list.gperf"
{"count_total", &grib_accessor_class_count_total},
{""}, {""}, {""}, {""},
#line 123 "accessor_class_list.gperf"
#line 122 "accessor_class_list.gperf"
{"hash_array", &grib_accessor_class_hash_array},
#line 166 "accessor_class_list.gperf"
#line 165 "accessor_class_list.gperf"
{"offset_values", &grib_accessor_class_offset_values},
#line 124 "accessor_class_list.gperf"
#line 123 "accessor_class_list.gperf"
{"headers_only", &grib_accessor_class_headers_only},
{""}, {""},
#line 95 "accessor_class_list.gperf"
#line 94 "accessor_class_list.gperf"
{"g1fcperiod", &grib_accessor_class_g1fcperiod},
#line 154 "accessor_class_list.gperf"
#line 153 "accessor_class_list.gperf"
{"message_copy", &grib_accessor_class_message_copy},
{""}, {""},
#line 171 "accessor_class_list.gperf"
#line 170 "accessor_class_list.gperf"
{"padtoeven", &grib_accessor_class_padtoeven},
{""}, {""},
#line 211 "accessor_class_list.gperf"
#line 210 "accessor_class_list.gperf"
{"uint16", &grib_accessor_class_uint16},
{""}, {""},
#line 155 "accessor_class_list.gperf"
#line 154 "accessor_class_list.gperf"
{"missing", &grib_accessor_class_missing},
#line 225 "accessor_class_list.gperf"
#line 224 "accessor_class_list.gperf"
{"variable", &grib_accessor_class_variable},
{""}, {""},
#line 87 "accessor_class_list.gperf"
#line 86 "accessor_class_list.gperf"
{"g1_half_byte_codeflag", &grib_accessor_class_g1_half_byte_codeflag},
{""},
#line 42 "accessor_class_list.gperf"
@ -563,7 +562,7 @@ static const struct accessor_class_hash classes[] =
#line 36 "accessor_class_list.gperf"
{"codeflag", &grib_accessor_class_codeflag},
{""}, {""}, {""}, {""}, {""}, {""},
#line 212 "accessor_class_list.gperf"
#line 211 "accessor_class_list.gperf"
{"uint16_little_endian", &grib_accessor_class_uint16_little_endian},
#line 37 "accessor_class_list.gperf"
{"codetable", &grib_accessor_class_codetable},
@ -577,33 +576,33 @@ static const struct accessor_class_hash classes[] =
#line 27 "accessor_class_list.gperf"
{"bufr_group", &grib_accessor_class_bufr_group},
{""}, {""},
#line 161 "accessor_class_list.gperf"
#line 160 "accessor_class_list.gperf"
{"number_of_values", &grib_accessor_class_number_of_values},
{""}, {""},
#line 77 "accessor_class_list.gperf"
{"decimal_precision", &grib_accessor_class_decimal_precision},
{""}, {""},
#line 112 "accessor_class_list.gperf"
#line 111 "accessor_class_list.gperf"
{"g2level", &grib_accessor_class_g2level},
{""},
#line 23 "accessor_class_list.gperf"
{"bufr_elements_table", &grib_accessor_class_bufr_elements_table},
{""}, {""},
#line 143 "accessor_class_list.gperf"
#line 142 "accessor_class_list.gperf"
{"latlonvalues", &grib_accessor_class_latlonvalues},
{""}, {""}, {""}, {""},
#line 73 "accessor_class_list.gperf"
{"data_sh_packed", &grib_accessor_class_data_sh_packed},
#line 162 "accessor_class_list.gperf"
#line 161 "accessor_class_list.gperf"
{"number_of_values_data_raw_packing", &grib_accessor_class_number_of_values_data_raw_packing},
{""}, {""}, {""}, {""},
#line 180 "accessor_class_list.gperf"
#line 179 "accessor_class_list.gperf"
{"scale_values", &grib_accessor_class_scale_values},
{""},
#line 219 "accessor_class_list.gperf"
#line 218 "accessor_class_list.gperf"
{"unpack_bufr_values", &grib_accessor_class_unpack_bufr_values},
{""}, {""}, {""},
#line 86 "accessor_class_list.gperf"
#line 85 "accessor_class_list.gperf"
{"from_scale_factor_scaled_value", &grib_accessor_class_from_scale_factor_scaled_value},
#line 11 "accessor_class_list.gperf"
{"abstract_vector", &grib_accessor_class_abstract_vector},
@ -614,19 +613,19 @@ static const struct accessor_class_hash classes[] =
#line 32 "accessor_class_list.gperf"
{"change_alternative_row_scanning", &grib_accessor_class_change_alternative_row_scanning},
{""},
#line 97 "accessor_class_list.gperf"
#line 96 "accessor_class_list.gperf"
{"g1monthlydate", &grib_accessor_class_g1monthlydate},
{""}, {""},
#line 101 "accessor_class_list.gperf"
#line 100 "accessor_class_list.gperf"
{"g1verificationdate", &grib_accessor_class_g1verificationdate},
#line 167 "accessor_class_list.gperf"
#line 166 "accessor_class_list.gperf"
{"pack_bufr_values", &grib_accessor_class_pack_bufr_values},
{""}, {""},
#line 177 "accessor_class_list.gperf"
#line 176 "accessor_class_list.gperf"
{"reference_value_error", &grib_accessor_class_reference_value_error},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
#line 163 "accessor_class_list.gperf"
#line 162 "accessor_class_list.gperf"
{"octahedral_gaussian", &grib_accessor_class_octahedral_gaussian},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 26 "accessor_class_list.gperf"
@ -647,7 +646,7 @@ static const struct accessor_class_hash classes[] =
#line 39 "accessor_class_list.gperf"
{"codetable_units", &grib_accessor_class_codetable_units},
{""},
#line 93 "accessor_class_list.gperf"
#line 92 "accessor_class_list.gperf"
{"g1day_of_the_year_date", &grib_accessor_class_g1day_of_the_year_date},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
@ -667,14 +666,14 @@ static const struct accessor_class_hash classes[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
#line 99 "accessor_class_list.gperf"
{"g1number_of_coded_values_sh_simple", &grib_accessor_class_g1number_of_coded_values_sh_simple},
#line 98 "accessor_class_list.gperf"
{"g1number_of_coded_values_sh_simple", &grib_accessor_class_g1number_of_coded_values_sh_simple},
#line 97 "accessor_class_list.gperf"
{"g1number_of_coded_values_sh_complex", &grib_accessor_class_g1number_of_coded_values_sh_complex},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 103 "accessor_class_list.gperf"
#line 102 "accessor_class_list.gperf"
{"g2_chemical", &grib_accessor_class_g2_chemical},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@ -684,7 +683,7 @@ static const struct accessor_class_hash classes[] =
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
#line 96 "accessor_class_list.gperf"
#line 95 "accessor_class_list.gperf"
{"g1forecastmonth", &grib_accessor_class_g1forecastmonth}
};

View File

@ -74,7 +74,6 @@
{ "element", &grib_accessor_class_element, },
{ "evaluate", &grib_accessor_class_evaluate, },
{ "expanded_descriptors", &grib_accessor_class_expanded_descriptors, },
{ "forward", &grib_accessor_class_forward, },
{ "from_scale_factor_scaled_value", &grib_accessor_class_from_scale_factor_scaled_value, },
{ "g1_half_byte_codeflag", &grib_accessor_class_g1_half_byte_codeflag, },
{ "g1_message_length", &grib_accessor_class_g1_message_length, },

View File

@ -75,7 +75,6 @@ double, &grib_accessor_class_double
element, &grib_accessor_class_element
evaluate, &grib_accessor_class_evaluate
expanded_descriptors, &grib_accessor_class_expanded_descriptors
forward, &grib_accessor_class_forward
from_scale_factor_scaled_value, &grib_accessor_class_from_scale_factor_scaled_value
g1_half_byte_codeflag, &grib_accessor_class_g1_half_byte_codeflag
g1_message_length, &grib_accessor_class_g1_message_length

View File

@ -1840,6 +1840,11 @@ int codes_extract_offsets_malloc(grib_context* c, const char* filename, ProductK
return GRIB_INVALID_ARGUMENT;
}
if (!c) c = grib_context_get_default();
if (path_is_directory(filename)) {
grib_context_log(c, GRIB_LOG_ERROR, "%s: \"%s\" is a directory", __func__, filename);
return GRIB_IO_PROBLEM;
}
f = fopen(filename, "rb");
if (!f) {
grib_context_log(c, GRIB_LOG_ERROR, "%s: Unable to read file \"%s\"", __func__, filename);

View File

@ -39,7 +39,7 @@ $EXEC ${test_dir}/extract_offsets ${data_dir} > $tempLog 2>&1
status=$?
set -e
[ $status -ne 0 ]
grep -q "Input output problem" $tempLog
grep -q "is a directory" $tempLog
set +e
$EXEC ${test_dir}/extract_offsets ${data_dir}/bad.grib > $tempLog 2>&1