ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
surface_diagnostics Namespace Reference

Enumerations

enum class  SurfaceDiagnosticSource : int {
  Missing = 0 , SurfaceLayerLand = 1 , LSMLand = 2 , SurfaceLayerFallback = 3 ,
  SurfaceLayerSea = 4 , Custom = 5 , RICO = 6
}
 

Functions

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int to_int (SurfaceDiagnosticSource source) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real to_plot_value (SurfaceDiagnosticSource source) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE SurfaceDiagnosticSource classify_scalar_source (bool is_custom, bool is_rico, bool is_land, bool has_lsm_flux, bool lsm_flux_is_valid) noexcept
 
const char * source_name (SurfaceDiagnosticSource source) noexcept
 

Enumeration Type Documentation

◆ SurfaceDiagnosticSource

Function Documentation

◆ classify_scalar_source()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE SurfaceDiagnosticSource surface_diagnostics::classify_scalar_source ( bool  is_custom,
bool  is_rico,
bool  is_land,
bool  has_lsm_flux,
bool  lsm_flux_is_valid 
)
noexcept
47 {
48  if (is_land && has_lsm_flux && lsm_flux_is_valid) {
49  return SurfaceDiagnosticSource::LSMLand;
50  }
51  if (is_custom) {
52  return SurfaceDiagnosticSource::Custom;
53  }
54  if (is_rico) {
55  return SurfaceDiagnosticSource::RICO;
56  }
57  if (is_land && has_lsm_flux && !lsm_flux_is_valid) {
58  return SurfaceDiagnosticSource::SurfaceLayerFallback;
59  }
60  if (is_land) {
61  return SurfaceDiagnosticSource::SurfaceLayerLand;
62  }
63  return SurfaceDiagnosticSource::SurfaceLayerSea;
64 }

Referenced by SurfaceLayer::compute_SurfaceLayer_bcs().

Here is the caller graph for this function:

◆ source_name()

const char* surface_diagnostics::source_name ( SurfaceDiagnosticSource  source)
inlinenoexcept
68 {
69  switch (source) {
70  case SurfaceDiagnosticSource::Missing: return "missing";
71  case SurfaceDiagnosticSource::SurfaceLayerLand: return "surface_layer_land";
72  case SurfaceDiagnosticSource::LSMLand: return "lsm_land";
73  case SurfaceDiagnosticSource::SurfaceLayerFallback: return "surface_layer_fallback";
74  case SurfaceDiagnosticSource::SurfaceLayerSea: return "surface_layer_sea";
75  case SurfaceDiagnosticSource::Custom: return "custom";
76  case SurfaceDiagnosticSource::RICO: return "rico";
77  }
78  return "unknown";
79 }

◆ to_int()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int surface_diagnostics::to_int ( SurfaceDiagnosticSource  source)
noexcept
29 {
30  return static_cast<int>(source);
31 }

Referenced by to_plot_value().

Here is the caller graph for this function:

◆ to_plot_value()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real surface_diagnostics::to_plot_value ( SurfaceDiagnosticSource  source)
noexcept
36 {
37  return static_cast<amrex::Real>(to_int(source));
38 }
amrex::Real Real
Definition: ERF_ShocInterface.H:19
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int to_int(SurfaceDiagnosticSource source) noexcept
Definition: ERF_SurfaceDiagnosticSource.H:28

Referenced by SurfaceLayer::compute_SurfaceLayer_bcs(), SurfaceLayer::compute_SurfaceLayer_bcs_EB(), and SurfaceLayer::make_SurfaceLayer_at_level().

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