16 #include "eckit/config/Configuration.h"
17 #include "eckit/exception/Exceptions.h"
19 #include "oops/util/abor1_cpp.h"
20 #include "oops/util/IntSetParser.h"
21 #include "oops/util/Logger.h"
32 : varname_(), grpname_(), channels_(),
33 options_(
conf.getSubConfiguration(
"options")) {
34 oops::Log::trace() <<
"ufo::Variable(config) start " <<
conf << std::endl;
36 conf.get(
"name", fullname);
39 if (
conf.has(
"channels")) {
40 std::string chlist =
conf.getString(
"channels");
41 std::set<int> channelset = oops::parseIntSet(chlist);
42 std::copy(channelset.begin(), channelset.end(), std::back_inserter(
channels_));
44 oops::Log::trace() <<
"ufo::Variable(conf) done" << std::endl;
50 : varname_(), grpname_(), channels_(), options_(options) {
51 oops::Log::trace() <<
"ufo::Variable(name) start" << std::endl;
53 oops::Log::trace() <<
"ufo::Variable(name) done" << std::endl;
59 : varname_(), grpname_(), channels_(channels), options_() {
60 oops::Log::trace() <<
"ufo::Variable(name, channels) start " << std::endl;
62 oops::Log::trace() <<
"ufo::Variable(name, channels) done" << std::endl;
68 : varname_(var.varname_), grpname_(group), channels_(var.channels_),
69 options_(var.options_) {
90 ASSERT(jch < this->
size());
107 ASSERT(jch < this->
size());
130 oops::Variables vars;
131 for (
size_t jj = 0; jj < this->
size(); ++jj) {
144 for (
size_t jj = 0; jj <
channels_.size(); ++jj) {
145 if (jj > 0) os <<
", ";