mirror of https://github.com/ecmwf/eccodes.git
ECC-789: GRIB: spectral_complex to spectral_simple conversion
This commit is contained in:
parent
6aa02e5d63
commit
f9b4420bdf
|
@ -10,7 +10,7 @@ transient numberOfPackedValues = numberOfValues - 1 : no_copy;
|
||||||
transient numberOfValues = ( J + 1 ) * ( J + 2 ) : no_copy ;
|
transient numberOfValues = ( J + 1 ) * ( J + 2 ) : no_copy ;
|
||||||
transient numberOfPackedValues = numberOfValues - 1 : no_copy;
|
transient numberOfPackedValues = numberOfValues - 1 : no_copy;
|
||||||
|
|
||||||
meta codedValues data_g2simple_packing(
|
meta codedValues data_g2simple_packing(
|
||||||
section7Length,
|
section7Length,
|
||||||
offsetBeforeData,
|
offsetBeforeData,
|
||||||
offsetSection7,
|
offsetSection7,
|
||||||
|
@ -22,14 +22,13 @@ transient numberOfPackedValues = numberOfValues - 1 : no_copy;
|
||||||
referenceValue,
|
referenceValue,
|
||||||
binaryScaleFactor,
|
binaryScaleFactor,
|
||||||
decimalScaleFactor,
|
decimalScaleFactor,
|
||||||
optimizeScaleFactor
|
optimizeScaleFactor) : read_only;
|
||||||
) : read_only;
|
|
||||||
|
|
||||||
meta values data_g2shsimple_packing(
|
meta values data_g2shsimple_packing(
|
||||||
codedValues,
|
codedValues,
|
||||||
realPartOf00,
|
realPartOf00,
|
||||||
numberOfValues
|
numberOfValues,
|
||||||
) ;
|
numberOfDataPoints);
|
||||||
|
|
||||||
meta packingError simple_packing_error(bitsPerValue,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
meta packingError simple_packing_error(bitsPerValue,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||||
meta unpackedError simple_packing_error(zero,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
meta unpackedError simple_packing_error(zero,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
IMPLEMENTS = pack_double
|
IMPLEMENTS = pack_double
|
||||||
IMPLEMENTS = value_count
|
IMPLEMENTS = value_count
|
||||||
MEMBERS=const char* numberOfValues
|
MEMBERS=const char* numberOfValues
|
||||||
|
MEMBERS=const char* numberOfDataPoints
|
||||||
END_CLASS_DEF
|
END_CLASS_DEF
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -50,6 +51,7 @@ typedef struct grib_accessor_data_g2shsimple_packing
|
||||||
int dirty;
|
int dirty;
|
||||||
/* Members defined in data_g2shsimple_packing */
|
/* Members defined in data_g2shsimple_packing */
|
||||||
const char* numberOfValues;
|
const char* numberOfValues;
|
||||||
|
const char* numberOfDataPoints;
|
||||||
} grib_accessor_data_g2shsimple_packing;
|
} grib_accessor_data_g2shsimple_packing;
|
||||||
|
|
||||||
extern grib_accessor_class* grib_accessor_class_data_shsimple_packing;
|
extern grib_accessor_class* grib_accessor_class_data_shsimple_packing;
|
||||||
|
@ -140,7 +142,8 @@ static void init(grib_accessor* a, const long v, grib_arguments* args)
|
||||||
{
|
{
|
||||||
grib_accessor_data_g2shsimple_packing* self = (grib_accessor_data_g2shsimple_packing*)a;
|
grib_accessor_data_g2shsimple_packing* self = (grib_accessor_data_g2shsimple_packing*)a;
|
||||||
|
|
||||||
self->numberOfValues = grib_arguments_get_name(grib_handle_of_accessor(a), args, 2);
|
self->numberOfValues = grib_arguments_get_name(grib_handle_of_accessor(a), args, 2);
|
||||||
|
self->numberOfDataPoints = grib_arguments_get_name(grib_handle_of_accessor(a), args, 3);
|
||||||
a->flags |= GRIB_ACCESSOR_FLAG_DATA;
|
a->flags |= GRIB_ACCESSOR_FLAG_DATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -214,6 +217,8 @@ static int pack_double(grib_accessor* a, const double* val, size_t* len)
|
||||||
|
|
||||||
if ((err = grib_set_long_internal(grib_handle_of_accessor(a), self->numberOfValues, (long)n_vals)) != GRIB_SUCCESS)
|
if ((err = grib_set_long_internal(grib_handle_of_accessor(a), self->numberOfValues, (long)n_vals)) != GRIB_SUCCESS)
|
||||||
return err;
|
return err;
|
||||||
|
if ((err = grib_set_long_internal(grib_handle_of_accessor(a), self->numberOfDataPoints, (long)n_vals)) != GRIB_SUCCESS)
|
||||||
|
return err;
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue