1 #ifndef ERF_TOPOGRAPHIC_SHADING_H_
2 #define ERF_TOPOGRAPHIC_SHADING_H_
4 #include <AMReX_Geometry.H>
5 #include <AMReX_MultiFab.H>
23 const amrex::DistributionMapping& dm,
const amrex::Geometry& geom);
27 const amrex::MultiFab& z_nd,
28 const amrex::MultiFab& map_x,
const amrex::MultiFab& map_y,
29 const amrex::MultiFab* lat,
const amrex::MultiFab* lon);
30 amrex::Vector<amrex::MultiFab*>
raw_fields (
int lev);
31 amrex::MultiFab*
raw (
int lev);
33 void set_sun (
int lev,
double calday,
double declin);
36 const amrex::Vector<amrex::MultiFab*>& destinations);
42 amrex::Vector<std::unique_ptr<amrex::MultiFab>>
aliases;
47 amrex::Vector<std::unique_ptr<Level>>
m_levels;
Radiation model type and control parameters.
Definition: ERF_TopographicShading.H:15
amrex::Vector< std::unique_ptr< Level > > m_levels
Definition: ERF_TopographicShading.H:47
amrex::MultiFab * raw(int lev)
Definition: ERF_TopographicShading.cpp:192
bool geometry_ready(int lev) const
Definition: ERF_TopographicShading.cpp:89
void apply(int lev, const TopographicShadingChoice &choice, const amrex::Vector< amrex::MultiFab * > &destinations)
Definition: ERF_TopographicShading.cpp:216
amrex::Vector< amrex::MultiFab * > raw_fields(int lev)
Definition: ERF_TopographicShading.cpp:185
void interpolate_from_coarse(int lev)
Definition: ERF_TopographicShading.cpp:207
void initialize_geometry(int lev, const TopographicShadingChoice &choice, const amrex::MultiFab &z_nd, const amrex::MultiFab &map_x, const amrex::MultiFab &map_y, const amrex::MultiFab *lat, const amrex::MultiFab *lon)
Definition: ERF_TopographicShading.cpp:99
void set_sun(int lev, double calday, double declin)
Definition: ERF_TopographicShading.cpp:199
Diagnostic
Definition: ERF_TopographicShading.H:19
@ Shadow
Definition: ERF_TopographicShading.H:19
@ NDiag
Definition: ERF_TopographicShading.H:19
@ DirectFactor
Definition: ERF_TopographicShading.H:19
@ UnshadedSW
Definition: ERF_TopographicShading.H:19
@ Incidence
Definition: ERF_TopographicShading.H:19
@ TerrainSW
Definition: ERF_TopographicShading.H:19
GeometryField
Definition: ERF_TopographicShading.H:20
@ CosAlpha
Definition: ERF_TopographicShading.H:20
@ NGeom
Definition: ERF_TopographicShading.H:20
@ MapX
Definition: ERF_TopographicShading.H:20
@ Longitude
Definition: ERF_TopographicShading.H:20
@ MapY
Definition: ERF_TopographicShading.H:20
@ Height
Definition: ERF_TopographicShading.H:20
@ SinAlpha
Definition: ERF_TopographicShading.H:20
@ Latitude
Definition: ERF_TopographicShading.H:20
const amrex::MultiFab * diagnostics(int lev) const
Definition: ERF_TopographicShading.cpp:194
RadiationField
Definition: ERF_TopographicShading.H:18
@ DirectNir
Definition: ERF_TopographicShading.H:18
@ CosZen
Definition: ERF_TopographicShading.H:18
@ Shortwave
Definition: ERF_TopographicShading.H:18
@ DirectVis
Definition: ERF_TopographicShading.H:18
@ Longwave
Definition: ERF_TopographicShading.H:18
@ DiffuseNir
Definition: ERF_TopographicShading.H:18
@ NRad
Definition: ERF_TopographicShading.H:18
@ DiffuseVis
Definition: ERF_TopographicShading.H:18
void define_level(int lev, const amrex::BoxArray &ba2d, const amrex::DistributionMapping &dm, const amrex::Geometry &geom)
Definition: ERF_TopographicShading.cpp:65
bool forcing_ready(int lev) const
Definition: ERF_TopographicShading.cpp:94
Definition: ERF_RadStruct.H:103
Definition: ERF_TopographicShading.H:39
amrex::MultiFab diagnostic
Definition: ERF_TopographicShading.H:41
bool forcing_ready
Definition: ERF_TopographicShading.H:44
amrex::MultiFab ground
Definition: ERF_TopographicShading.H:41
bool geometry_ready
Definition: ERF_TopographicShading.H:43
amrex::MultiFab patch
Definition: ERF_TopographicShading.H:41
double calday
Definition: ERF_TopographicShading.H:45
amrex::Geometry geom
Definition: ERF_TopographicShading.H:40
double declin
Definition: ERF_TopographicShading.H:45
amrex::MultiFab raw
Definition: ERF_TopographicShading.H:41
amrex::Vector< std::unique_ptr< amrex::MultiFab > > aliases
Definition: ERF_TopographicShading.H:42