1 #ifndef ERF_SEB_TURBULENT_FLUX_H_
2 #define ERF_SEB_TURBULENT_FLUX_H_
32 #include <AMReX_MultiFab.H>
33 #include <AMReX_REAL.H>
52 SEBTurbulentFluxSource source,
53 bool surface_layer_flux_present) noexcept
56 if (source == SEBTurbulentFluxSource::SurfaceLayer && surface_layer_flux_present) {
85 const amrex::MultiFab* land_surface_field,
86 const amrex::MultiFab* surface_layer_flux,
88 SEBTurbulentFluxSource source,
114 const amrex::MultiFab* field,
117 const amrex::MultiFab* add_field =
nullptr);
Radiation model type and control parameters.
void fill_seb_field_from_land_surface(amrex::MultiFab &seb_field, const amrex::MultiFab *field, amrex::Real fallback, amrex::Real scale=amrex::Real(1.0), const amrex::MultiFab *add_field=nullptr)
Fill one 2D surface-energy-balance input from land-surface model fields, cell by cell.
SEBFluxOrigin select_seb_flux_origin(bool land_surface_field_present, SEBTurbulentFluxSource source, bool surface_layer_flux_present) noexcept
The precedence rule: land-surface field, then surface layer, then default.
Definition: ERF_SEBTurbulentFlux.H:51
SEBFluxOrigin
Which of the three sources a field was filled from.
Definition: ERF_SEBTurbulentFlux.H:38
SEBFluxOrigin fill_seb_turbulent_flux(amrex::MultiFab &seb_flux, SEBTurbulentFlux kind, const amrex::MultiFab *land_surface_field, const amrex::MultiFab *surface_layer_flux, int surface_k, SEBTurbulentFluxSource source, amrex::Real fallback)
Fill the SEB's H or LE [W/m^2] on the valid cells of seb_flux.
SEBTurbulentFlux
The turbulent flux being filled: selects the unit conversion.
Definition: ERF_SEBTurbulentFlux.H:41
amrex::Real Real
Definition: ERF_ShocInterface.H:19