8 #ifndef IO_OBSIOGENERATERANDOM_H_
9 #define IO_OBSIOGENERATERANDOM_H_
13 #include "ioda/distribution/Distribution.h"
14 #include "ioda/io/ObsIo.h"
15 #include "ioda/ObsSpaceParameters.h"
17 #include "eckit/mpi/Comm.h"
19 #include "oops/util/DateTime.h"
20 #include "oops/util/Logger.h"
21 #include "oops/util/ObjectCounter.h"
36 static const std::string
classname() {
return "ioda::ObsIoGenerateRandom";}
69 const util::DateTime & winStart,
const util::DateTime & winEnd,
70 const eckit::mpi::Comm & comm,
71 const std::vector<float> & obsErrors,
72 const std::vector<std::string> & simVarNames);
76 void print(std::ostream & os)
const override;
Options controlling the ObsIoGenerateRandom class.
Implementation of ObsIo generating observations at random locations.
bool applyTimingWindow() const override
return true if only observations within the timing window should be retained, false otherwise.
ObsIoGenerateRandom(const Parameters_ &ioParams, const ObsSpaceParameters &obsSpaceParams)
static const std::string classname()
classname method for object counter
ObsGenerateRandomParameters Parameters_
Type used by ObsIoFactory.
void genDistRandom(const EmbeddedObsGenerateRandomParameters ¶ms, const util::DateTime &winStart, const util::DateTime &winEnd, const eckit::mpi::Comm &comm, const std::vector< float > &obsErrors, const std::vector< std::string > &simVarNames)
generate observation locations using the random method
void print(std::ostream &os) const override
print routine for oops::Printable base class