Skip to content

Class emulator::HorizAvgDiagnostic

ClassList > emulator > HorizAvgDiagnostic

Computes area-weighted horizontal average of a field. More...

  • #include <horiz_avg_diagnostic.hpp>

Inherits the following classes: emulator::DerivedDiagnostic

Public Functions

Type Name
HorizAvgDiagnostic (const std::string & field_name, const std::vector< double > & area_weights, MPI_Comm comm)
Construct horizontal averaging diagnostic.
virtual void compute (const FieldDataProvider & fields, std::vector< double > & output) override
Compute the diagnostic.
virtual std::string name () override const
Get the diagnostic name.
virtual int output_size (int ncols, int nlevs) override const
Get output size.
virtual std::string source_field () override const
Get the source field name.

Public Functions inherited from emulator::DerivedDiagnostic

See emulator::DerivedDiagnostic

Type Name
virtual void compute (const FieldDataProvider & fields, std::vector< double > & output) = 0
Compute the diagnostic.
virtual std::string name () const = 0
Get the diagnostic name.
virtual int output_size (int ncols, int nlevs) const = 0
Get output size.
virtual std::string source_field () const = 0
Get the source field name.
virtual ~DerivedDiagnostic () = default

Detailed Description

Public Functions Documentation

function HorizAvgDiagnostic

Construct horizontal averaging diagnostic.

emulator::HorizAvgDiagnostic::HorizAvgDiagnostic (
    const std::string & field_name,
    const std::vector< double > & area_weights,
    MPI_Comm comm
) 

Parameters:

  • field_name Source field name
  • area_weights Area weights for each column (normalized to sum to 1)
  • comm MPI communicator for global reduction

function compute

Compute the diagnostic.

virtual void emulator::HorizAvgDiagnostic::compute (
    const FieldDataProvider & fields,
    std::vector< double > & output
) override

Parameters:

  • fields Input field provider
  • output Output data buffer (caller must allocate)

Implements emulator::DerivedDiagnostic::compute


function name

Get the diagnostic name.

inline virtual std::string emulator::HorizAvgDiagnostic::name () override const

Implements emulator::DerivedDiagnostic::name


function output_size

Get output size.

inline virtual int emulator::HorizAvgDiagnostic::output_size (
    int ncols,
    int nlevs
) override const

Parameters:

  • ncols Number of local columns
  • nlevs Number of vertical levels (for source field)

Implements emulator::DerivedDiagnostic::output_size


function source_field

Get the source field name.

inline virtual std::string emulator::HorizAvgDiagnostic::source_field () override const

Implements emulator::DerivedDiagnostic::source_field



The documentation for this class was generated from the following file components/emulator_comps/common/src/diagnostics/horiz_avg_diagnostic.hpp