46 #include "drain/util/ReferenceMap.h"
52 #include "data/DataSelector.h"
53 #include "data/Data.h"
54 #include "data/ODIM.h"
55 #include "data/ODIMPathTools.h"
56 #include "data/Quantity.h"
58 #include "hi5/Hi5Write.h"
61 #include "ProductOp.h"
124 mout.
debug(
"start" );
126 mout.
debug2(
"DataSelector: " , this->dataSelector );
133 mout.debug3(
"collect the applicable paths" );
134 ODIMPathList dataPaths;
138 this->dataSelector.getPaths(src, dataPaths);
141 if (dataPaths.empty()){
142 mout.
warn(
"no dataset's selected" );
145 mout.debug3(
"populate the dataset map, paths=" , dataPaths.size() );
153 mout.
warn(
"odd 1st path elem (..), with selector: ", this->dataSelector);
161 mout.
warn(
"path does not start with /dataset.. :", path,
", with selector: ", this->dataSelector);
166 const Hi5Tree & srcDataSet = src(parent);
172 std::string datetime = what[
"startdate"].toStr() + what[
"starttime"].toStr();
174 if (sweeps.find(datetime) == sweeps.end()){
175 mout.
debug2(
"adding time=", datetime,
':', parent);
181 mout.
warn(
"datetime =", datetime,
" already added?, skipping ", parent);
216 if (!dst.empty() && (&src != &dst)){
217 mout.info(
"clearing previous result, use --append [data|dataset] to avoid");
223 mout.
warn(
"non-standard path location '", dataSetPath,
"', consider --help append ");
230 mout.
debug(
"storing product in path: ", dataSetPath);
249 rootWhat[
"object"] = this->odim.object;
250 rootWhat[
"version"] = this->odim.version;
263 mout.
debug2(
"dst /where/ : ", rootWhere);
267 ProductBase::setRackVersion(how);
276 this->computeSingleProduct(sweeps, dstProductDataset);
281 if (!dstProductDataset.empty()){
283 how[
"angles"] = dstProductDataset.getFirstData().odim.angles;
LogSourc e is the means for a function or any program segment to "connect" to a Log.
Definition: Log.h:308
Logger & warn(const TT &... args)
Possible error, but execution can continue.
Definition: Log.h:426
Logger & debug(const TT &... args)
Public, yet typically used "internally", when TIMING=true.
Definition: Log.h:676
Logger & debug2(const TT &... args)
Debug information.
Definition: Log.h:686
A map of Variables.
Definition: VariableMap.h:61
Computes dot product of intensities of two images.
Definition: PixelVectorOp.h:364
A map of radar data, indexed by quantity code (DBZH, VRAD, etc).
Definition: Data.h:1213
Definition: ODIMPath.h:82
static const group_t WHAT
Metadata group /what , at any depth.
Definition: ODIMPath.h:124
static const group_t DATASET
First level group, /dataset + digit .
Definition: ODIMPath.h:103
bool is(group_t g) const
Abbreviation of (group == NONE)
Definition: ODIMPath.h:291
static const group_t ROOT
Definition: ODIMPath.h:99
static const group_t HOW
Metadata group /how , at any depth.
Definition: ODIMPath.h:130
static const group_t DATA
Second level group, /data + digit .
Definition: ODIMPath.h:106
static const group_t WHERE
Metadata group /where , at any depth.
Definition: ODIMPath.h:127
ODIMPathElem appendResults
If set, appends outputs in an hdf5 structure instead of overwriting.
Definition: ProductConf.h:92
Base class for radar data processors.
Definition: VolumeOp.h:88
virtual void processVolume(const Hi5Tree &src, Hi5Tree &dst) const
Traverse through given volume and create new, processed data (volume or polar product).
Definition: VolumeOp.h:120
Namespace for images and image processing tools.
Definition: AccumulationArray.cpp:45
Definition: DataSelector.cpp:44