Go to the documentation of this file.
11 #ifndef QG_MODEL_GEOMETRYQG_H_
12 #define QG_MODEL_GEOMETRYQG_H_
19 #include "atlas/field.h"
20 #include "atlas/functionspace.h"
22 #include "eckit/mpi/Comm.h"
24 #include "oops/util/ObjectCounter.h"
25 #include "oops/util/parameters/Parameter.h"
26 #include "oops/util/parameters/Parameters.h"
27 #include "oops/util/parameters/RequiredParameter.h"
28 #include "oops/util/Printable.h"
30 #include "oops/qg/GeometryQGIterator.h"
31 #include "oops/qg/QgFortran.h"
40 oops::RequiredParameter<int>
nx{
"nx",
this};
41 oops::RequiredParameter<int>
ny{
"ny",
this};
43 oops::RequiredParameter<std::vector<float>>
depths{
"depths",
this};
45 oops::Parameter<bool>
heating{
"heating",
true,
this};
48 class GeometryQGIterator;
54 private util::ObjectCounter<GeometryQG> {
58 static const std::string
classname() {
return "qg::GeometryQG";}
75 void print(std::ostream &)
const;
85 #endif // QG_MODEL_GEOMETRYQG_H_
The namespace for the qg model.
GeometryQG(const GeometryQgParameters &, const eckit::mpi::Comm &)
atlas::FieldSet * atlasFieldSet() const
std::unique_ptr< atlas::functionspace::PointCloud > atlasFunctionSpace_
oops::RequiredParameter< int > ny
oops::RequiredParameter< int > nx
Domain size.
atlas::FunctionSpace * atlasFunctionSpace() const
std::unique_ptr< atlas::FieldSet > atlasFieldSet_
GeometryQGIterator end() const
const F90geom & toFortran() const
oops::Parameter< bool > heating
Heating option (AS: should it be in geometry or model?)
static const std::string classname()
GeometryQgParameters Parameters_
GeometryQGIterator begin() const
const eckit::mpi::Comm & getComm() const
const eckit::mpi::Comm & comm_
void print(std::ostream &) const
GeometryQG & operator=(const GeometryQG &)
std::vector< double > verticalCoord(std::string &) const
GeometryQG handles geometry for QG model.
oops::RequiredParameter< std::vector< float > > depths
Depths.