Collect Data For Dataset

Header file: <libs/observers/collect_data_for_dataset.hpp> [source]

template<typename CDD, typename Store>
concept CollectDataForDataset
#include <collect_data_for_dataset.hpp>

Concept for CollectDataForDataset is all types that have functions for creating a functor to collect data from a gridbox and/or superdroplets (to use in a Kokkos parallel loop) and then write the data to arrays in a dataset.

tparam CDD:

The type that satisfies the CollectDataForDataset concept.

template<typename Store, CollectDataForDataset<Store> CollectData1, CollectDataForDataset<Store> CollectData2>
struct CombinedCollectDataForDataset

struct is a new CollectDataForDataset formed from the combination of two structs that also satisfy the CollectDataForDataset concept given the same Store type. Struct that does the actions of the original structs in sequence.

Template Parameters:

Public Functions

inline CombinedCollectDataForDataset(const CollectData1 a, const CollectData2 b)

Constructs a CombinedCollectDataForDataset object.

Parameters:
inline Functor get_functor(const viewd_constgbx d_gbxs, const viewd_constsupers totsupers) const
inline void write_to_arrays(const Dataset<Store> &dataset) const
inline void write_to_ragged_arrays(const Dataset<Store> &dataset) const
inline void write_arrayshapes(const Dataset<Store> &dataset) const
inline void write_ragged_arrayshapes(const Dataset<Store> &dataset) const
inline void reallocate_views(const size_t sz) const

Private Members

CollectData1 a

The first instance of type of CollectDataForDataset.

CollectData2 b

The second instance of type of CollectDataForDataset.

struct Functor

Public Functions

inline explicit Functor(const CollectData1 a, const CollectData2 b, const viewd_constgbx d_gbxs, const viewd_constsupers totsupers)
inline void operator()(const size_t nn) const
inline void operator()(const TeamMember &team_member) const

Public Members

CollectData1::Functor a_functor
CollectData2::Functor b_functor
template<CollectDataForDataset<FSStore> CollectData1, CollectDataForDataset<FSStore> CollectData2>
auto operator>>(const CollectData1 a, const CollectData2 b)

Overloaded operator >> to combine two CollectDataForDataset instances into a new one.

Parameters:
Returns:

CombinedObserver<Obs1, Obs2> Combined Observer.

template<typename Store>
struct NullCollectDataForDataset

Public Functions

inline Functor get_functor(const viewd_constgbx d_gbxs, const viewd_constsupers totsupers) const
inline void write_to_arrays(const Dataset<Store> &dataset) const
inline void write_to_ragged_arrays(const Dataset<Store> &dataset) const
inline void write_arrayshapes(const Dataset<Store> &dataset) const
inline void write_ragged_arrayshapes(const Dataset<Store> &dataset) const
inline void reallocate_views(const size_t sz) const
struct Functor

Public Functions

inline void operator()(const size_t nn) const
inline void operator()(const TeamMember &team_member) const