Skip to content

Commit 58e0782

Browse files
authored
Merge pull request #47 from ecmwf/feature/parametrization
Feature/parametrization
2 parents 0623e9e + 6ad461d commit 58e0782

File tree

85 files changed

+1514
-1015
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+1514
-1015
lines changed

src/multio/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,8 @@ list( APPEND multio_domain_srcs
110110
)
111111

112112
list( APPEND multio_message_srcs
113+
message/BaseMetadata.h
114+
message/BaseMetadata.cc
113115
message/Message.cc
114116
message/MessageHeader.cc
115117
message/Message.h
@@ -131,6 +133,8 @@ list( APPEND multio_message_srcs
131133
message/SharedPayload.h
132134
message/SharedPayloadException.cc
133135
message/SharedPayloadException.h
136+
message/Parametrization.cc
137+
message/Parametrization.h
134138
message/Peer.cc
135139
message/Peer.h
136140
message/MetadataMapping.cc

src/multio/action/aggregate/Aggregate.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ bool Aggregate::handleField(const Message& msg) {
4747
}
4848

4949
auto Aggregate::flushCount(const Message& msg) {
50-
5150
auto res = flushes_[msg.fieldId()].emplace(msg.source());
5251

5352
if (not res.second) {

src/multio/action/aggregate/AggregationCatalogue.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
#include "multio/domain/Mappings.h"
55

6+
#include "multio/message/Parametrization.h"
7+
68
namespace multio::action {
79

810
message::Message& AggregationCatalogue::getMessage(const std::string& key) {

src/multio/action/encode/GribEncoder.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@
3232

3333
#include "multio/LibMultio.h"
3434
#include "multio/util/DateTime.h"
35+
#include "multio/util/Environment.h"
3536
#include "multio/util/Metadata.h"
3637
#include "multio/util/Substitution.h"
37-
#include "multio/util/Environment.h"
3838

3939
#include "multio/util/PrecisionTag.h"
4040

@@ -557,7 +557,7 @@ QueriedMarsKeys setMarsKeys(GribEncoder& g, const Dict& md) {
557557
void applyOverwrites(GribEncoder& g, const message::Metadata& md) {
558558
if (auto searchOverwrites = md.find("encoder-overwrites"); searchOverwrites != md.end()) {
559559
// TODO Refactor with visitor
560-
for (const auto& kv : searchOverwrites->second.get<message::Metadata>()) {
560+
for (const auto& kv : searchOverwrites->second.get<message::BaseMetadata>()) {
561561
if (g.hasKey(kv.first.value().c_str())) {
562562
kv.second.visit(eckit::Overloaded{
563563
[](const auto& v) -> util::IfTypeOf<decltype(v), MetadataTypes::AllNested> {},
@@ -639,7 +639,7 @@ void setDateAndStatisticalFields(GribEncoder& g, const message::Metadata& in,
639639
auto significanceOfReferenceTime = lookUp<std::int64_t>(md, "significanceOfReferenceTime")();
640640
if (!significanceOfReferenceTime) {
641641
if (auto searchEncoderOverwrites = md.find("encoder-overwrites"); searchEncoderOverwrites != md.end()) {
642-
const auto& overwrites = md.get<message::Metadata>("encoder-overwrites");
642+
const auto& overwrites = md.get<message::BaseMetadata>("encoder-overwrites");
643643
significanceOfReferenceTime = lookUp<std::int64_t>(overwrites, "significanceOfReferenceTime")();
644644
}
645645
}

src/multio/action/encode/GridDownloader.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
#include "eckit/mpi/Comm.h"
2626

2727
#include "multio/message/Glossary.h"
28-
#include "multio/util/Substitution.h"
2928
#include "multio/util/Environment.h"
29+
#include "multio/util/Substitution.h"
3030

3131
namespace {
3232
const std::unordered_map<std::string, int> latParamIds{

src/multio/action/encode/MioGribHandle.cc

Lines changed: 0 additions & 99 deletions
This file was deleted.

src/multio/action/scale/Mapping.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
#include <cstdlib>
44
#include <string>
55

6+
#include "MetadataUtils.h"
67
#include "multio/LibMultio.h"
78
#include "multio/message/Glossary.h"
89
#include "multio/util/Substitution.h"
9-
#include "MetadataUtils.h"
1010

1111

1212
namespace multio::action {
@@ -35,7 +35,7 @@ void ScaleMapping::applyMapping(message::Metadata& md) const {
3535

3636
auto it = scaleMap_.find(cparam);
3737
if (it != scaleMap_.end()) {
38-
md.set(glossary().paramId, std::stoll(it->second));
38+
md.set(glossary().paramId, std::stoll(it->second));
3939
md.set(glossary().param, it->second.c_str());
4040
}
4141
}

src/multio/action/scale/MetadataUtils.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ std::string extractParam(const multio::message::Metadata& md) {
1414
std::string cparam{};
1515
if (auto param = md.getOpt<std::string>(glossary().param); param) {
1616
cparam = *param;
17-
} else if (auto paramId = md.getOpt<std::int64_t>(glossary().paramId); paramId) {
17+
}
18+
else if (auto paramId = md.getOpt<std::int64_t>(glossary().paramId); paramId) {
1819
cparam = std::to_string(*paramId);
1920
}
2021
else {
@@ -23,4 +24,4 @@ std::string extractParam(const multio::message::Metadata& md) {
2324

2425
return cparam;
2526
}
26-
}
27+
} // namespace multio::action

src/multio/action/scale/MetadataUtils.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,5 @@
66
#include "multio/message/Metadata.h"
77

88
namespace multio::action {
9-
std::string extractParam(const multio::message::Metadata& md);
10-
9+
std::string extractParam(const multio::message::Metadata& md);
1110
}

src/multio/action/scale/Scale.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
#include "multio/util/PrecisionTag.h"
2222

2323
#include "multio/action/scale/Mapping.h"
24-
#include "multio/action/scale/Scaling.h"
2524
#include "multio/action/scale/MetadataUtils.h"
25+
#include "multio/action/scale/Scaling.h"
2626

2727

2828
namespace multio::action {
@@ -57,12 +57,12 @@ void Scale::executeImpl(message::Message msg) {
5757
executeNext(std::move(msg));
5858
return;
5959
}
60-
//Scale the message
60+
// Scale the message
6161
util::dispatchPrecisionTag(msg.precision(), [&](auto pt) {
6262
using Precision = typename decltype(pt)::type;
63-
ScaleMessage<Precision>(msg); // Modify msg in place
63+
ScaleMessage<Precision>(msg); // Modify msg in place
6464
});
65-
//pass on the modified message
65+
// pass on the modified message
6666
executeNext(std::move(msg));
6767
return;
6868
}

0 commit comments

Comments
 (0)