16 #include "atlas/library/config.h" 17 #include "atlas/util/Config.h" 27 template <
typename vector_t>
30 template <
typename vector_t,
typename Interval>
31 Vertical(
idx_t levels,
const vector_t& z,
const Interval& interval,
39 idx_t k_begin()
const {
return k_begin_; }
40 idx_t k_end()
const {
return k_end_; }
41 idx_t size()
const {
return size_; }
43 template <
typename Int>
44 double operator()(
const Int k )
const {
48 template <
typename Int>
49 double operator[](
const Int k )
const {
53 double min()
const {
return min_; }
54 double max()
const {
return max_; }
56 double front()
const {
return z_.front(); }
57 double back()
const {
return z_.back(); }
66 std::vector<double> z_;
73 template <
typename vector_t,
typename Interval>
74 Vertical::Vertical(
idx_t levels,
const vector_t& z,
const Interval& interval,
const util::Config& config ) :
82 template <
typename vector_t>
83 Vertical::Vertical(
idx_t levels,
const vector_t& z,
const util::Config& ) : size_{levels}, k_begin_{0}, k_end_{size_} {
84 assert( size_ == static_cast<idx_t>( z.size() ) );
86 for (
idx_t k = 0; k < size_; ++k ) {
89 min_ = ( size_ ? z[0] : 0. );
90 max_ = ( size_ ? z[size_ - 1] : 1. );
A Field contains an Array, Metadata, and a reference to a FunctionSpace.
Definition: Field.h:59
Definition: Vertical.h:25
Contains all atlas classes and methods.
Definition: atlas-grids.cc:33
friend std::ostream & operator<<(std::ostream &os, const Vertical &v)
Output information of field.
Definition: Vertical.cc:69
long idx_t
Integer type for indices in connectivity tables.
Definition: config.h:42
Configuration class used to construct various atlas components.
Definition: Config.h:27