10 #include <pybind11/eigen.h>
11 #include <pybind11/pybind11.h>
12 #include <pybind11/stl.h>
25 namespace py = pybind11;
28 std::shared_ptr<const ioda::detail::DataLayoutPolicy>
setupDLP(pybind11::module& mDLP) {
30 py::class_<DataLayoutPolicy, std::shared_ptr<DataLayoutPolicy>> dlp(mDLP,
"DataLayoutPolicy");
31 dlp.doc() =
"Data layout policy for the ObsGroup";
37 std::ostringstream out;
38 out <<
"<ioda.DLP.DataLayoutPolicy: " << d.
name() <<
">";
42 std::ostringstream out;
43 out <<
"<ioda.DLP.DataLayoutPolicy: " << d.
name() <<
">";
47 py::enum_<DataLayoutPolicy::Policies> pols(dlp,
"Policies");
53 mDLP.attr(
"default") = ld;
Convenience classes for constructing ObsSpaces and setting up new Dimension Scales.
Interfaces for ioda::Group and related classes.
Contains definitions for how data are arranged in ioda internally.
Interfaces for ioda::ObsGroup and related classes.
Policy used for setting locations for Variable access.
static std::shared_ptr< const DataLayoutPolicy > _py_generate1(const std::string &polid)
static std::shared_ptr< const DataLayoutPolicy > generate(const std::string &polid="")
Factory generator.
static std::shared_ptr< const DataLayoutPolicy > _py_generate2(Policies pol)
@ None
Do no manipulation of the Group / Variable layout.
virtual std::string name() const
A descriptive name for the policy.
virtual std::string doMap(const std::string &) const
Map a user-specified Variable path to the correct location.
Python bindings - macros.
std::shared_ptr< const ioda::detail::DataLayoutPolicy > setupDLP(pybind11::module &mDLP)