ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
noahmp_result_policy::CellPolicy Struct Reference

#include <ERF_NOAHMP_ResultPolicy.H>

Collaboration diagram for noahmp_result_policy::CellPolicy:

Public Member Functions

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE CellPolicy (amrex::Real hfx_value) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real select (amrex::Real value, amrex::Real undefined_value, int output_comp) const noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE FluxSelection select_fluxes (amrex::Real latent_heat_flux, amrex::Real tau_ew_value, amrex::Real tau_ns_value, amrex::Real density, amrex::Real cp_d, amrex::Real latent_heat, amrex::Real undefined_value) const noexcept
 

Public Attributes

amrex::Real hfx
 
bool processed
 

Constructor & Destructor Documentation

◆ CellPolicy()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE noahmp_result_policy::CellPolicy::CellPolicy ( amrex::Real  hfx_value)
inlineexplicitnoexcept
65  : hfx(hfx_value), processed(result_is_valid(hfx_value)) {}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool result_is_valid(amrex::Real value) noexcept
Definition: ERF_NOAHMP_ResultPolicy.H:24
amrex::Real hfx
Definition: ERF_NOAHMP_ResultPolicy.H:60
bool processed
Definition: ERF_NOAHMP_ResultPolicy.H:61

Member Function Documentation

◆ select()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real noahmp_result_policy::CellPolicy::select ( amrex::Real  value,
amrex::Real  undefined_value,
int  output_comp 
) const
inlinenoexcept
71  {
72  return select_result(processed, value, undefined_value, output_comp);
73  }
Real value
Definition: ERF_HurricaneDiagnostics.cpp:30
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real select_result(bool cell_processed, amrex::Real value, amrex::Real undefined_value, int output_comp) noexcept
Definition: ERF_NOAHMP_ResultPolicy.H:49

Referenced by NOAHMP::read_results().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ select_fluxes()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE FluxSelection noahmp_result_policy::CellPolicy::select_fluxes ( amrex::Real  latent_heat_flux,
amrex::Real  tau_ew_value,
amrex::Real  tau_ns_value,
amrex::Real  density,
amrex::Real  cp_d,
amrex::Real  latent_heat,
amrex::Real  undefined_value 
) const
inlinenoexcept
83  {
84  if (!processed) {
85  return {undefined_value, undefined_value, undefined_value, undefined_value};
86  }
87  return {hfx / (density * cp_d),
88  latent_heat_flux / (density * latent_heat),
89  tau_ew_value / density,
90  tau_ns_value / density};
91  }

Referenced by NOAHMP::read_results().

Here is the caller graph for this function:

Member Data Documentation

◆ hfx

amrex::Real noahmp_result_policy::CellPolicy::hfx

Referenced by select_fluxes().

◆ processed

bool noahmp_result_policy::CellPolicy::processed

The documentation for this struct was generated from the following file: