diff --git a/src/metkit/codes/CodesDecoder.h b/src/metkit/codes/CodesDecoder.h index e47fe8e6..de41d78e 100644 --- a/src/metkit/codes/CodesDecoder.h +++ b/src/metkit/codes/CodesDecoder.h @@ -13,10 +13,11 @@ #pragma once +#include + #include "eckit/message/Decoder.h" #include "eckit/message/Message.h" - -#include +#include "eckit/utils/Translator.h" namespace metkit { @@ -32,6 +33,13 @@ class CodesDecoder : public eckit::message::MessageDecoder { void decodeKey(codes_handle* h, codes_keys_iterator* it, const char* name, eckit::message::MetadataGatherer& gather, const eckit::message::GetMetadataOptions& options) const { + std::string keyword(name); + + if (keyword == "levelist") { + eckit::Translator t; + gather.setValue(name, t(static_cast(this)->getDouble(h, it, name))); + return; + } if (options.valueRepresentation == eckit::message::ValueRepresentation::String) { decodeString(h, it, gather, name); }