File derived_diagnostic.hpp
File List > common > src > diagnostics > derived_diagnostic.hpp
Go to the documentation of this file
#ifndef EMULATOR_DERIVED_DIAGNOSTIC_HPP
#define EMULATOR_DERIVED_DIAGNOSTIC_HPP
#include "../emulator_output_stream.hpp"
#include <memory>
#include <string>
#include <vector>
namespace emulator {
class DerivedDiagnostic {
public:
virtual ~DerivedDiagnostic() = default;
virtual std::string name() const = 0;
virtual std::string source_field() const = 0;
virtual void compute(const FieldDataProvider &fields,
std::vector<double> &output) = 0;
virtual int output_size(int ncols, int nlevs) const = 0;
};
} // namespace emulator
#endif // EMULATOR_DERIVED_DIAGNOSTIC_HPP