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
66  : 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:25
amrex::Real hfx
Definition: ERF_NOAHMP_ResultPolicy.H:61
bool processed
Definition: ERF_NOAHMP_ResultPolicy.H:62

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
72  {
73  return select_result(processed, value, undefined_value, output_comp);
74  }
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:50

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
84  {
85  if (!processed) {
86  return {undefined_value, undefined_value, undefined_value, undefined_value};
87  }
88  return {hfx / (density * cp_d),
89  latent_heat_flux / (density * latent_heat),
90  tau_ew_value / density,
91  tau_ns_value / density};
92  }

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: