FV3 Bundle
GeometryFV3JEDI.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2017 UCAR
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  */
7 
8 #ifndef SRC_GEOMETRY_GEOMETRYFV3JEDI_H_
9 #define SRC_GEOMETRY_GEOMETRYFV3JEDI_H_
10 
11 #include <ostream>
12 #include <string>
13 
14 #include "oops/util/ObjectCounter.h"
15 #include "oops/util/Printable.h"
16 
17 #include "GeometryFV3JEDIFortran.h"
18 
19 namespace eckit {
20  class Configuration;
21 }
22 
23 namespace fv3jedi {
24 
25 // -----------------------------------------------------------------------------
26 /// GeometryFV3JEDI handles geometry for FV3JEDI model.
27 
28 class GeometryFV3JEDI : public util::Printable,
29  private util::ObjectCounter<GeometryFV3JEDI> {
30  public:
31  static const std::string classname() {return "fv3jedi::GeometryFV3JEDI";}
32 
33  explicit GeometryFV3JEDI(const eckit::Configuration &);
36 
37  F90geom & toFortran() {return keyGeom_;}
38  const F90geom & toFortran() const {return keyGeom_;}
39 
40  private:
42  void print(std::ostream &) const;
44 };
45 // -----------------------------------------------------------------------------
46 
47 } // namespace fv3jedi
48 
49 #endif // SRC_GEOMETRY_GEOMETRYFV3JEDI_H_
static const std::string classname()
GeometryFV3JEDI(const eckit::Configuration &)
const F90geom & toFortran() const
GeometryFV3JEDI & operator=(const GeometryFV3JEDI &)
void print(std::ostream &) const
GeometryFV3JEDI handles geometry for FV3JEDI model.