8 #ifndef SOCA_GEOMETRY_GEOMETRY_H_
9 #define SOCA_GEOMETRY_GEOMETRY_H_
17 #include "eckit/config/Configuration.h"
18 #include "eckit/config/LocalConfiguration.h"
19 #include "eckit/mpi/Comm.h"
27 #include "oops/util/ObjectCounter.h"
28 #include "oops/util/Printable.h"
34 namespace functionspace {
48 private util::ObjectCounter<Geometry> {
50 static const std::string
classname() {
return "soca::Geometry";}
52 explicit Geometry(
const eckit::Configuration &,
const eckit::mpi::Comm &);
58 std::vector<size_t>
variableSizes(
const oops::Variables & vars)
const;
67 bool initAtm(
const eckit::Configuration & conf)
const
69 return conf.getBool(
"notocean.init",
false);
77 void print(std::ostream &)
const;
Geometry handles geometry for SOCA model.
const eckit::mpi::Comm & comm_
eckit::LocalConfiguration getAtmConf() const
Geometry & operator=(const Geometry &)
std::vector< size_t > variableSizes(const oops::Variables &vars) const
GeometryIterator begin() const
atlas::FunctionSpace * atlasFunctionSpace() const
eckit::LocalConfiguration atmconf_
const int & toFortran() const
std::unique_ptr< atlas::FieldSet > atlasFieldSet_
atlas::FieldSet * atlasFieldSet() const
static const std::string classname()
std::vector< double > verticalCoord(std::string &) const
bool initAtm(const eckit::Configuration &conf) const
std::unique_ptr< atlas::functionspace::PointCloud > atlasFunctionSpace_
const eckit::mpi::Comm & getComm() const
Geometry(const eckit::Configuration &, const eckit::mpi::Comm &)
GeometryIterator end() const
void print(std::ostream &) const