# Copyright 2005-2019 ECMWF.

# TEMPLATE 7.50, Spectral data - simple packing
# Octets 6-nn : Binary data values - binary string, with each
# (scaled)

transient numberOfValues = ( J + 1 ) * ( J + 2 ) : no_copy ;
transient numberOfPackedValues = numberOfValues - 1 : no_copy;

transient numberOfValues = ( J + 1 ) * ( J + 2 ) : no_copy ;
transient numberOfPackedValues = numberOfValues - 1 : no_copy;

 meta codedValues data_g2simple_packing(
              section7Length,
              offsetBeforeData,
              offsetSection7,
              unitsFactor,
      		  unitsBias,
              changingPrecision,
              numberOfPackedValues,
              bitsPerValue,
              referenceValue,
              binaryScaleFactor,
              decimalScaleFactor,
              optimizeScaleFactor
    ) : read_only;

    meta values data_g2shsimple_packing(
              codedValues,
              realPartOf00,
              numberOfValues
            ) ;

                                
meta packingError simple_packing_error(bitsPerValue,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
meta unpackedError simple_packing_error(zero,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;

alias x.packedValues = values;

template statistics "common/statistics_spectral.def";
