|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
Per-column scratch the sweep keeps in a caller-provided Array4. More...
Variables | |
| constexpr int | DZ = 0 |
| constexpr int | Z = 1 |
| constexpr int | TAU_SW = 2 |
| constexpr int | F_DIR = 3 |
| constexpr int | A = 4 |
| constexpr int | S = 5 |
| constexpr int | LW_UP = 6 |
| constexpr int | LW_DN = 7 |
| constexpr int | TAU_LW = 8 |
| constexpr int | NCOMP = 9 |
Per-column scratch the sweep keeps in a caller-provided Array4.
The SW adding method and the LW sweeps need full interface profiles (direct beam, adding-method albedo and source, LW up/down fluxes) and the per-layer thickness, height and optical depths. Keeping those as fixed-size arrays inside the device lambda cost about 37 kB of local memory per GPU thread, so they live in a scratch FArrayBox that the level driver allocates once per box with NCOMP components on the box grown by one cell at its top (nlev + 1 interfaces per column), and the sweep addresses them as scratch(i, j, kmin + m, field). Each thread touches only its own column.
|
constexpr |
Referenced by compute_A(), erf_calc_slopes_eb_Dirichlet(), erf_calc_slopes_eb_Dirichlet_staggered(), erf_calc_slopes_eb_staggered(), erf_calc_slopes_eb_staggered_upwind(), HSEutils::init_isentropic_hse_constant_dz(), HSEutils::init_isentropic_hse_stretched_dz(), HSEutils::init_isentropic_hse_terrain(), init_which_terrain_grid(), and vertical_two_stream_sweep().
|
constexpr |
|
constexpr |
Referenced by vertical_two_stream_sweep().
|
constexpr |
Referenced by vertical_two_stream_sweep().
|
constexpr |
Referenced by vertical_two_stream_sweep().
|
constexpr |
Referenced by TwoStreamRadiation::advance().
|
constexpr |
Referenced by NodalReconstruction::applyA(), NodalReconstruction::applyD(), NodalReconstruction::applyDTD(), NodalReconstruction::applyL(), NodalReconstruction::applyLTL(), NodalReconstruction::applyM(), NodalReconstruction::applyVariationOperator(), ERF::check_for_low_temp(), ERF::check_for_negative_theta(), ERF::check_state_for_nans(), NodalReconstruction::computeDiagnostics(), ERF::MakeDiagnosticAverage(), NodalReconstruction::maxAverageError(), NodalReconstruction::solve(), NodalReconstruction::totalSquaredVariation(), vertical_two_stream_sweep(), and WriteBndryPlanes::write_planes().
|
constexpr |
Referenced by vertical_two_stream_sweep().
|
constexpr |
Referenced by vertical_two_stream_sweep().
|
constexpr |
Referenced by vertical_two_stream_sweep().