FV3 Bundle
ModelTrajectory.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2009-2016 ECMWF.
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  * In applying this licence, ECMWF does not waive the privileges and immunities
7  * granted to it by virtue of its status as an intergovernmental organisation nor
8  * does it submit to any jurisdiction.
9  */
10 
11 #ifndef LORENZ95_MODELTRAJECTORY_H_
12 #define LORENZ95_MODELTRAJECTORY_H_
13 
14 #include <string>
15 
16 #include <boost/ptr_container/ptr_vector.hpp>
17 
18 #include "oops/util/ObjectCounter.h"
19 
20 namespace lorenz95 {
21  class FieldL95;
22 
23 /// L95 model trajectory
24 
25 // -----------------------------------------------------------------------------
26 class ModelTrajectory: private util::ObjectCounter<ModelTrajectory> {
27  public:
28  static const std::string classname() {return "lorenz95::ModelTrajectory";}
29 
30 /// Constructor, destructor
31  explicit ModelTrajectory(const bool ltraj = true);
33 
34 /// Save trajectory
35  void set(const FieldL95 &);
36 
37 /// Get trajectory
38  const FieldL95 & get(const int) const;
39 
40  private:
41  const bool ltraj_;
42  boost::ptr_vector<FieldL95> traj_;
43 };
44 // -----------------------------------------------------------------------------
45 
46 } // namespace lorenz95
47 
48 #endif // LORENZ95_MODELTRAJECTORY_H_
ModelTrajectory(const bool ltraj=true)
Constructor, destructor.
The namespace for the L95 model.
static const std::string classname()
L95 model trajectory.
boost::ptr_vector< FieldL95 > traj_
Class to represent fields for the L95 model.
Definition: FieldL95.h:36