ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_SurfacePrecipitation.H File Reference
#include <AMReX_GpuQualifiers.H>
#include <AMReX_MultiFab.H>
#include <AMReX_REAL.H>
Include dependency graph for ERF_SurfacePrecipitation.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SurfacePrecipAccumulationSource
 
struct  SurfacePrecipAccumulationSources
 

Functions

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool surface_precip_has_source (const SurfacePrecipAccumulationSource &src) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool surface_precip_has_total_source (const SurfacePrecipAccumulationSources &src) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool surface_precip_has_explicit_rain_source (const SurfacePrecipAccumulationSources &src) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool surface_precip_has_any_source (const SurfacePrecipAccumulationSources &src) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool surface_precip_has_any_frozen_source (const SurfacePrecipAccumulationSources &src) noexcept
 

Function Documentation

◆ surface_precip_has_any_frozen_source()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool surface_precip_has_any_frozen_source ( const SurfacePrecipAccumulationSources src)
noexcept
59 {
60  // Public frozen precipitation is available whenever the scheme has any
61  // precipitation source, because the IO layer can derive the frozen field
62  // from the total or species accumulators and fill zero for warm-rain cases.
64 }
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool surface_precip_has_any_source(const SurfacePrecipAccumulationSources &src) noexcept
Definition: ERF_SurfacePrecipitation.H:48

Referenced by plotfile2d::selected_precipitation_accumulation_components().

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

◆ surface_precip_has_any_source()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool surface_precip_has_any_source ( const SurfacePrecipAccumulationSources src)
noexcept
49 {
55 }
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool surface_precip_has_source(const SurfacePrecipAccumulationSource &src) noexcept
Definition: ERF_SurfacePrecipitation.H:30
SurfacePrecipAccumulationSource rain
Definition: ERF_SurfacePrecipitation.H:23
SurfacePrecipAccumulationSource snow
Definition: ERF_SurfacePrecipitation.H:24
SurfacePrecipAccumulationSource hail
Definition: ERF_SurfacePrecipitation.H:26
SurfacePrecipAccumulationSource total
Definition: ERF_SurfacePrecipitation.H:22
SurfacePrecipAccumulationSource graupel
Definition: ERF_SurfacePrecipitation.H:25

Referenced by NOAHMP::collect_precip_sources(), plotfile2d::fill_precipitation_accumulations(), plotfile2d::selected_precipitation_accumulation_components(), and surface_precip_has_any_frozen_source().

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

◆ surface_precip_has_explicit_rain_source()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool surface_precip_has_explicit_rain_source ( const SurfacePrecipAccumulationSources src)
noexcept
43 {
44  return surface_precip_has_source(src.rain);
45 }
Here is the call graph for this function:

◆ surface_precip_has_source()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool surface_precip_has_source ( const SurfacePrecipAccumulationSource src)
noexcept
31 {
32  return src.accum != nullptr;
33 }
const amrex::MultiFab * accum
Definition: ERF_SurfacePrecipitation.H:16

Referenced by plotfile2d::fill_precipitation_accumulations(), plotfile2d::selected_precipitation_accumulation_components(), surface_precip_has_any_source(), surface_precip_has_explicit_rain_source(), and surface_precip_has_total_source().

Here is the caller graph for this function:

◆ surface_precip_has_total_source()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool surface_precip_has_total_source ( const SurfacePrecipAccumulationSources src)
noexcept
37 {
38  return surface_precip_has_source(src.total);
39 }

Referenced by plotfile2d::selected_precipitation_accumulation_components().

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