Class emulator::impl::AtmFieldDataProvider
ClassList > emulator > impl > AtmFieldDataProvider
Adapter implementing FieldDataProvider forAtmFieldManager .More...
#include <atm_field_data_provider.hpp>
Inherits the following classes: emulator::FieldDataProvider
Public Functions
| Type | Name |
|---|---|
| AtmFieldDataProvider (AtmFieldManager & fields, int ncols_local) Construct adapter with reference to field manager. |
|
| void | detect_stacked_fields () Scan fields and detect stackable slice patterns. |
| virtual const std::vector< double > * | get_field (const std::string & name) override const Get pointer to field data by name. |
| virtual std::vector< std::string > | get_field_names () override const Get list of all available field names. |
| virtual int | get_field_nlevs (const std::string & name) override const Get number of vertical levels for a field. |
| virtual int | get_ncols () override const Get number of local columns. |
| const std::vector< double > & | get_stacked_field (const std::string & basename) const Get the stacked data for a 3D field. |
| bool | is_stacked_field (const std::string & name) const Check if a field is a stacked field. |
| ~AtmFieldDataProvider () override |
Public Functions inherited from emulator::FieldDataProvider
See emulator::FieldDataProvider
| Type | Name |
|---|---|
| virtual const std::vector< double > * | get_field (const std::string & name) const = 0 Get pointer to field data by name. |
| virtual std::vector< std::string > | get_field_names () const = 0 Get list of all available field names. |
| virtual int | get_field_nlevs (const std::string & name) const Check if a field has vertical levels (is 3D). |
| virtual int | get_ncols () const = 0 Get number of local columns. |
| virtual | ~FieldDataProvider () = default |
Detailed Description
Public Functions Documentation
function AtmFieldDataProvider
Construct adapter with reference to field manager.
emulator::impl::AtmFieldDataProvider::AtmFieldDataProvider (
AtmFieldManager & fields,
int ncols_local
)
Parameters:
fieldsReference to AtmFieldManagerncols_localNumber of local columns
function detect_stacked_fields
Scan fields and detect stackable slice patterns.
void emulator::impl::AtmFieldDataProvider::detect_stacked_fields ()
Finds fields matching "basename_N" pattern and registers them as stackable groups.
function get_field
Get pointer to field data by name.
virtual const std::vector< double > * emulator::impl::AtmFieldDataProvider::get_field (
const std::string & name
) override const
First checks for exact match, then checks for stacked fields.
Parameters:
nameField name
Returns:
Pointer to data vector, or nullptr if not found
Implements emulator::FieldDataProvider::get_field
function get_field_names
Get list of all available field names.
virtual std::vector< std::string > emulator::impl::AtmFieldDataProvider::get_field_names () override const
Includes both direct fields and auto-detected stacked fields.
Implements emulator::FieldDataProvider::get_field_names
function get_field_nlevs
Get number of vertical levels for a field.
virtual int emulator::impl::AtmFieldDataProvider::get_field_nlevs (
const std::string & name
) override const
Parameters:
nameField name
Returns:
Number of levels (1 for 2D fields, >1 for stacked fields)
Implements emulator::FieldDataProvider::get_field_nlevs
function get_ncols
Get number of local columns.
inline virtual int emulator::impl::AtmFieldDataProvider::get_ncols () override const
Implements emulator::FieldDataProvider::get_ncols
function get_stacked_field
Get the stacked data for a 3D field.
const std::vector< double > & emulator::impl::AtmFieldDataProvider::get_stacked_field (
const std::string & basename
) const
Combines sliced fields [field_0, field_1, ...] into a single contiguous buffer with shape [nlevs, ncols].
Parameters:
basenameBase field name (without _N suffix)
Returns:
Stacked data buffer
function is_stacked_field
Check if a field is a stacked field.
bool emulator::impl::AtmFieldDataProvider::is_stacked_field (
const std::string & name
) const
function ~AtmFieldDataProvider
emulator::impl::AtmFieldDataProvider::~AtmFieldDataProvider () override
The documentation for this class was generated from the following file components/emulator_comps/eatm/src/impl/atm_field_data_provider.hpp