|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
#include <ERF_FirePrerequisites.H>#include <ERF.H>#include <ERF_SurfaceLayer.H>#include <ERF_IndexDefines.H>#include <AMReX_ParmParse.H>#include <iomanip>#include <sstream>#include <string>#include <vector>
Functions | |
| int | fire_anchor_level (int anchor_level, int finest_level) |
| The AMR level the fire grid refines: erf.fire.anchor_level, or the finest level when it is -1 (the default). More... | |
| void | verify_fire_precip_source (const std::string &engine_name, const SurfacePrecipAccumulationSources &sources) |
| Start-up check for an engine that reads the rain of every column (FireEngine::wants_surface_precip): the microphysics scheme must provide surface precipitation accumulators. More... | |
| void | verify_fire_prerequisites (const ERF &erf, int lev, const SurfaceLayer *surface_layer, int grid_ratio, bool needs_surface_layer) |
| Verify the ERF configuration the fire coupling needs. More... | |
| int fire_anchor_level | ( | int | anchor_level, |
| int | finest_level | ||
| ) |
The AMR level the fire grid refines: erf.fire.anchor_level, or the finest level when it is -1 (the default).
Aborts, naming the input, when the level is above the finest level.
| [in] | anchor_level | erf.fire.anchor_level (-1 = the finest level) |
| [in] | finest_level | Finest level of the run at start-up |
Referenced by ERF::InitData_post().

| void verify_fire_precip_source | ( | const std::string & | engine_name, |
| const SurfacePrecipAccumulationSources & | sources | ||
| ) |
Start-up check for an engine that reads the rain of every column (FireEngine::wants_surface_precip): the microphysics scheme must provide surface precipitation accumulators.
Aborts, naming the engine and erf.moisture_model, when the sources are empty (no moisture model, Kessler_NoRain, saturation adjustment only, ...). Called after the microphysics of the fire grid's level is initialised.
| [in] | engine_name | The engine's name (FireEngine::name) |
| [in] | sources | Microphysics::Get_Surface_Precip_Accumulation_Ptrs(lev) |
Referenced by ERF::InitData_post().


| void verify_fire_prerequisites | ( | const ERF & | erf, |
| int | lev, | ||
| const SurfaceLayer * | surface_layer, | ||
| int | grid_ratio, | ||
| bool | needs_surface_layer = true |
||
| ) |
Verify the ERF configuration the fire coupling needs.
Called once at startup from FireCoupler::initialize() after the SurfaceLayer is ready, before the engine's own checks. Aborts with clear diagnostic messages if any requirement is not met.
| [in] | erf | ERF instance (for grids, dmap, Geom access) |
| [in] | lev | AMR level the fire grid refines (fire_anchor_level) |
| [in] | surface_layer | Pointer to initialized SurfaceLayer |
| [in] | grid_ratio | erf.fire.grid_ratio, fire cells per atmospheric cell in x and y |
Checks performed (in order):
Referenced by FireCoupler::initialize().

