ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
IBSEBParams Struct Reference

#include <ERF_IBSEBParams.H>

Collaboration diagram for IBSEBParams:

Public Member Functions

void init_params ()
 

Public Attributes

bool enable = false
 Master switch. More...
 
int n_slab_layers = 4
 Conduction layers per face. More...
 
amrex::Real T_skin_init = 300.0
 Initial skin temperature [K]. More...
 
amrex::Real T_interior = 293.0
 Interior (deep) temperature [K]. More...
 
std::string csv_file = "ibseb_buildings.csv"
 Per-building report. More...
 
int csv_int = 100
 Steps between report rows; <= 0 disables. More...
 
bool debug = false
 [IBSEB DEBUG] prints: set description at build, per-step summary, per-building rows More...
 
std::string dump_faces_file
 Per-rank face dump at report time (empty = off) More...
 
bool dump_faces_tag_step = false
 Name each dump by its step (keeps every one) instead of overwriting. More...
 
std::string radiation = "prescribed"
 
std::string sun_mode = "fixed"
 
amrex::Real sun_zenith_deg = 45.0
 fixed: zenith angle [deg] More...
 
amrex::Real sun_azimuth_deg = 180.0
 fixed: azimuth clockwise from north [deg]; 180 = sun in the south More...
 
amrex::Real sw_direct_normal = 800.0
 fixed: direct-normal irradiance [W/m2] More...
 
amrex::Real sw_diffuse = 100.0
 fixed: diffuse irradiance on a horizontal surface [W/m2] More...
 
amrex::Real latitude_deg = 40.0
 solar: site latitude, north positive More...
 
amrex::Real longitude_deg = -105.0
 solar: site longitude, east positive More...
 
amrex::Real day_of_year = 172.0
 solar: day of year More...
 
amrex::Real time_zero_utc_s = 12.0 * 3600.0
 solar: seconds after 00:00 UTC at simulation time zero (the sun follows UTC and the longitude) More...
 
amrex::Real solar_constant = 1361.0
 solar: [W/m2] More...
 
amrex::Real sw_transmission = 0.7
 solar: bulk clear-sky transmission (Bird) More...
 
amrex::Real sw_diffuse_coeff = 0.5
 solar: share of the attenuated beam that arrives as diffuse light More...
 
amrex::Real albedo = 0.3
 Face shortwave albedo. More...
 
amrex::Real albedo_ground = 0.2
 Ground albedo for the reflected diffuse term. More...
 
amrex::Real emissivity = 0.9
 Face longwave emissivity. More...
 
amrex::Real emissivity_ground = 0.95
 Ground emissivity for the ground term. More...
 
int view_n_az = 16
 
int view_n_el = 8
 
std::string lw_mode = "gray"
 
amrex::Real lw_down = 300.0
 fixed: sky longwave [W/m2] More...
 
amrex::Real sky_emissivity = 0.83
 gray: effective clear-sky emissivity More...
 
amrex::Real T_ground = 300.0
 Ground temperature for the ground term [K]. More...
 
amrex::Real z0_wall = 0.01
 Momentum roughness of the faces [m]. More...
 
amrex::Real z0h_wall = 0.001
 Heat roughness of the faces [m]. More...
 
bool stability_correction = false
 
bool couple_heat = true
 Add the face flux to the temperature equation. More...
 
std::string material_file
 
int material_default = 1
 
std::vector< int > material_by_building
 
amrex::Real k_therm = 1.0
 Uniform conductivity [W/m/K]. More...
 
amrex::Real rho_cp = 1.6e6
 Uniform volumetric heat capacity [J/m3/K]. More...
 
amrex::Real thickness = 0.3
 Uniform slab thickness [m]. More...
 
bool prognostic = true
 
amrex::Real T_skin_min = 260.0
 Lower bound of the skin temperature [K]. More...
 
amrex::Real T_skin_max = 380.0
 Upper bound [K]; raise it for faces under a fire. More...
 
int newton_max_iter = 20
 Newton iteration cap per face and step. More...
 
amrex::Real newton_tol_K = 1.0e-3
 Newton stops when a step changes T_skin by less than this [K]. More...
 
amrex::Real newton_max_step_K = 20.0
 Largest Newton step [K]. More...
 
amrex::Real Q_ext_uniform = 0.0
 Uniform external incident flux on every face [W/m2] (test hook) More...
 
std::string obukhov_seed = "ground"
 "ground" or "neutral" More...
 
std::string convective_velocity = "none"
 "none" or "deardorff" More...
 
amrex::Real beta_conv = 1.2
 Gustiness factor on w*. More...
 
std::string z_i_mode = "bulk_ri"
 "bulk_ri", "pblh" or "fixed" More...
 
amrex::Real z_i = 1000.0
 Fixed mixed-layer depth [m] (z_i_mode = fixed, and the fallback) More...
 
amrex::Real ri_crit = 0.25
 Critical bulk Richardson number of the diagnostic. More...
 
amrex::Real obukhov_relax = 0.5
 Under-relaxation of the roof's u*, theta* iteration (1 = none), as erf-model #3486. More...
 

Member Function Documentation

◆ init_params()

void IBSEBParams::init_params ( )
inline

Read the erf.ibseb.* inputs and validate them.

Only queried, never required: a deck without any erf.ibseb key gets the defaults above with the balance off. Validation is skipped when the balance is off so an unrelated deck cannot abort on an unused key.

150  {
151  amrex::ParmParse pp("erf.ibseb");
152  pp.query("enable", enable);
153  pp.query("n_slab_layers", n_slab_layers);
154  pp.query("T_skin_init", T_skin_init);
155  pp.query("T_interior", T_interior);
156  pp.query("csv_file", csv_file);
157  pp.query("csv_int", csv_int);
158  pp.query("debug", debug);
159  pp.query("dump_faces_file", dump_faces_file);
160  pp.query("dump_faces_tag_step", dump_faces_tag_step);
161  pp.query("radiation", radiation);
162  pp.query("sun_mode", sun_mode);
163  pp.query("sun_zenith_deg", sun_zenith_deg);
164  pp.query("sun_azimuth_deg", sun_azimuth_deg);
165  pp.query("sw_direct_normal", sw_direct_normal);
166  pp.query("sw_diffuse", sw_diffuse);
167  pp.query("latitude_deg", latitude_deg);
168  pp.query("longitude_deg", longitude_deg);
169  pp.query("day_of_year", day_of_year);
170  pp.query("time_zero_utc_s", time_zero_utc_s);
171  pp.query("solar_constant", solar_constant);
172  pp.query("sw_transmission", sw_transmission);
173  pp.query("sw_diffuse_coeff", sw_diffuse_coeff);
174  pp.query("albedo", albedo);
175  pp.query("albedo_ground", albedo_ground);
176  pp.query("emissivity", emissivity);
177  pp.query("emissivity_ground", emissivity_ground);
178  pp.query("view_n_az", view_n_az);
179  pp.query("view_n_el", view_n_el);
180  pp.query("lw_mode", lw_mode);
181  pp.query("lw_down", lw_down);
182  pp.query("sky_emissivity", sky_emissivity);
183  pp.query("T_ground", T_ground);
184  pp.query("z0_wall", z0_wall);
185  pp.query("z0h_wall", z0h_wall);
186  pp.query("stability_correction", stability_correction);
187  pp.query("couple_heat", couple_heat);
188  pp.query("material_file", material_file);
189  pp.query("material_default", material_default);
190  pp.queryarr("material_by_building", material_by_building);
191  pp.query("k_therm", k_therm);
192  pp.query("rho_cp", rho_cp);
193  pp.query("thickness", thickness);
194  pp.query("prognostic", prognostic);
195  pp.query("T_skin_min", T_skin_min);
196  pp.query("T_skin_max", T_skin_max);
197  pp.query("newton_max_iter", newton_max_iter);
198  pp.query("newton_tol_K", newton_tol_K);
199  pp.query("newton_max_step_K", newton_max_step_K);
200  pp.query("Q_ext_uniform", Q_ext_uniform);
201  pp.query("obukhov_seed", obukhov_seed);
202  pp.query("convective_velocity", convective_velocity);
203  pp.query("beta_conv", beta_conv);
204  pp.query("z_i_mode", z_i_mode);
205  pp.query("z_i", z_i);
206  pp.query("ri_crit", ri_crit);
207  pp.query("obukhov_relax", obukhov_relax);
208  if (enable) {
209  if (radiation != "prescribed") {
210  amrex::Abort("erf.ibseb.radiation: only \"prescribed\" is available in this build");
211  }
212  if (sun_mode != "fixed" && sun_mode != "solar") {
213  amrex::Abort("erf.ibseb.sun_mode must be \"fixed\" or \"solar\"");
214  }
215  if (sun_zenith_deg < 0.0 || sun_zenith_deg > 180.0) { amrex::Abort("erf.ibseb.sun_zenith_deg must be in [0, 180]"); }
216  if (latitude_deg < -90.0 || latitude_deg > 90.0) { amrex::Abort("erf.ibseb.latitude_deg must be in [-90, 90]"); }
217  if (longitude_deg < -180.0 || longitude_deg > 180.0) { amrex::Abort("erf.ibseb.longitude_deg must be in [-180, 180]"); }
218  if (day_of_year < 1.0 || day_of_year > 366.0) { amrex::Abort("erf.ibseb.day_of_year must be in [1, 366]"); }
219  // The sun is computed from UTC (time_zero_utc_s) and the longitude; a
220  // time-zone offset has no place in that and used to cancel silently.
221  if (pp.contains("utc_offset_hours")) {
222  amrex::Abort("erf.ibseb.utc_offset_hours is not an input: the sun follows time_zero_utc_s (UTC) and longitude_deg; remove it");
223  }
224  if (sw_direct_normal < 0.0 || sw_diffuse < 0.0) { amrex::Abort("erf.ibseb.sw_direct_normal and sw_diffuse must be >= 0"); }
225  if (sw_transmission <= 0.0 || sw_transmission > 1.0) { amrex::Abort("erf.ibseb.sw_transmission must be in (0, 1]"); }
226  if (albedo < 0.0 || albedo > 1.0 || albedo_ground < 0.0 || albedo_ground > 1.0) {
227  amrex::Abort("erf.ibseb.albedo and albedo_ground must be in [0, 1]");
228  }
229  if (emissivity <= 0.0 || emissivity > 1.0 || emissivity_ground <= 0.0 || emissivity_ground > 1.0 ||
230  sky_emissivity <= 0.0 || sky_emissivity > 1.0) {
231  amrex::Abort("erf.ibseb emissivities must be in (0, 1]");
232  }
233  if (view_n_az < 1 || view_n_el < 1) { amrex::Abort("erf.ibseb.view_n_az and view_n_el must be >= 1"); }
234  if (lw_mode != "fixed" && lw_mode != "gray") { amrex::Abort("erf.ibseb.lw_mode must be \"fixed\" or \"gray\""); }
235  if (lw_down < 0.0 || T_ground <= 0.0) { amrex::Abort("erf.ibseb.lw_down must be >= 0 and T_ground > 0"); }
236  if (z0_wall <= 0.0 || z0h_wall <= 0.0) { amrex::Abort("erf.ibseb.z0_wall and z0h_wall must be positive [m]"); }
237  if (k_therm <= 0.0 || rho_cp <= 0.0 || thickness <= 0.0) { amrex::Abort("erf.ibseb.k_therm, rho_cp and thickness must be positive"); }
238  if (n_slab_layers > 32) { amrex::Abort("erf.ibseb.n_slab_layers must be <= 32 (the slab kernels keep their layers on the stack)"); }
239  if (n_slab_layers < 1) { amrex::Abort("erf.ibseb.n_slab_layers must be >= 1"); }
240  if (T_skin_init <= 0.0 || T_interior <= 0.0) {
241  amrex::Abort("erf.ibseb.T_skin_init and T_interior must be positive [K]");
242  }
243  if (T_skin_min <= 0.0 || T_skin_max <= T_skin_min) {
244  amrex::Abort("erf.ibseb.T_skin_min must be positive and below T_skin_max");
245  }
246  if (prognostic && (T_skin_init < T_skin_min || T_skin_init > T_skin_max)) {
247  amrex::Abort("erf.ibseb.T_skin_init must lie within [T_skin_min, T_skin_max]");
248  }
249  if (newton_max_iter < 1 || newton_tol_K <= 0.0 || newton_max_step_K <= 0.0) {
250  amrex::Abort("erf.ibseb.newton_max_iter must be >= 1, newton_tol_K and newton_max_step_K positive");
251  }
252  if (Q_ext_uniform < 0.0) { amrex::Abort("erf.ibseb.Q_ext_uniform must be >= 0"); }
253  if (obukhov_seed != "ground" && obukhov_seed != "neutral") { amrex::Abort("erf.ibseb.obukhov_seed must be \"ground\" or \"neutral\""); }
254  if (convective_velocity != "none" && convective_velocity != "deardorff") {
255  amrex::Abort("erf.ibseb.convective_velocity must be \"none\" or \"deardorff\"");
256  }
257  if (z_i_mode != "bulk_ri" && z_i_mode != "pblh" && z_i_mode != "fixed") {
258  amrex::Abort("erf.ibseb.z_i_mode must be \"bulk_ri\", \"pblh\" or \"fixed\"");
259  }
260  if (beta_conv <= 0.0 || z_i <= 0.0 || ri_crit <= 0.0) { amrex::Abort("erf.ibseb.beta_conv, z_i and ri_crit must be positive"); }
261  if (obukhov_relax <= 0.0 || obukhov_relax > 1.0) { amrex::Abort("erf.ibseb.obukhov_relax must be in (0, 1]"); }
262  }
263  }
ParmParse pp("prob")
amrex::Real newton_max_step_K
Largest Newton step [K].
Definition: ERF_IBSEBParams.H:118
std::string csv_file
Per-building report.
Definition: ERF_IBSEBParams.H:30
amrex::Real T_interior
Interior (deep) temperature [K].
Definition: ERF_IBSEBParams.H:29
std::string sun_mode
Definition: ERF_IBSEBParams.H:46
std::string convective_velocity
"none" or "deardorff"
Definition: ERF_IBSEBParams.H:135
amrex::Real T_ground
Ground temperature for the ground term [K].
Definition: ERF_IBSEBParams.H:75
amrex::Real Q_ext_uniform
Uniform external incident flux on every face [W/m2] (test hook)
Definition: ERF_IBSEBParams.H:119
amrex::Real day_of_year
solar: day of year
Definition: ERF_IBSEBParams.H:53
bool prognostic
Definition: ERF_IBSEBParams.H:113
int material_default
Definition: ERF_IBSEBParams.H:99
amrex::Real newton_tol_K
Newton stops when a step changes T_skin by less than this [K].
Definition: ERF_IBSEBParams.H:117
amrex::Real obukhov_relax
Under-relaxation of the roof's u*, theta* iteration (1 = none), as erf-model #3486.
Definition: ERF_IBSEBParams.H:140
amrex::Real z0_wall
Momentum roughness of the faces [m].
Definition: ERF_IBSEBParams.H:85
amrex::Real k_therm
Uniform conductivity [W/m/K].
Definition: ERF_IBSEBParams.H:101
amrex::Real sw_transmission
solar: bulk clear-sky transmission (Bird)
Definition: ERF_IBSEBParams.H:56
bool enable
Master switch.
Definition: ERF_IBSEBParams.H:26
int n_slab_layers
Conduction layers per face.
Definition: ERF_IBSEBParams.H:27
amrex::Real rho_cp
Uniform volumetric heat capacity [J/m3/K].
Definition: ERF_IBSEBParams.H:102
std::string z_i_mode
"bulk_ri", "pblh" or "fixed"
Definition: ERF_IBSEBParams.H:137
amrex::Real thickness
Uniform slab thickness [m].
Definition: ERF_IBSEBParams.H:103
std::string material_file
Definition: ERF_IBSEBParams.H:98
int view_n_az
Definition: ERF_IBSEBParams.H:67
amrex::Real sky_emissivity
gray: effective clear-sky emissivity
Definition: ERF_IBSEBParams.H:74
bool couple_heat
Add the face flux to the temperature equation.
Definition: ERF_IBSEBParams.H:88
amrex::Real ri_crit
Critical bulk Richardson number of the diagnostic.
Definition: ERF_IBSEBParams.H:139
amrex::Real longitude_deg
solar: site longitude, east positive
Definition: ERF_IBSEBParams.H:52
int view_n_el
Definition: ERF_IBSEBParams.H:68
std::vector< int > material_by_building
Definition: ERF_IBSEBParams.H:100
std::string lw_mode
Definition: ERF_IBSEBParams.H:72
amrex::Real albedo_ground
Ground albedo for the reflected diffuse term.
Definition: ERF_IBSEBParams.H:60
bool dump_faces_tag_step
Name each dump by its step (keeps every one) instead of overwriting.
Definition: ERF_IBSEBParams.H:34
amrex::Real emissivity_ground
Ground emissivity for the ground term.
Definition: ERF_IBSEBParams.H:62
std::string radiation
Definition: ERF_IBSEBParams.H:41
int csv_int
Steps between report rows; <= 0 disables.
Definition: ERF_IBSEBParams.H:31
amrex::Real beta_conv
Gustiness factor on w*.
Definition: ERF_IBSEBParams.H:136
bool debug
[IBSEB DEBUG] prints: set description at build, per-step summary, per-building rows
Definition: ERF_IBSEBParams.H:32
amrex::Real solar_constant
solar: [W/m2]
Definition: ERF_IBSEBParams.H:55
amrex::Real sw_direct_normal
fixed: direct-normal irradiance [W/m2]
Definition: ERF_IBSEBParams.H:49
std::string dump_faces_file
Per-rank face dump at report time (empty = off)
Definition: ERF_IBSEBParams.H:33
amrex::Real albedo
Face shortwave albedo.
Definition: ERF_IBSEBParams.H:59
amrex::Real T_skin_min
Lower bound of the skin temperature [K].
Definition: ERF_IBSEBParams.H:114
amrex::Real time_zero_utc_s
solar: seconds after 00:00 UTC at simulation time zero (the sun follows UTC and the longitude)
Definition: ERF_IBSEBParams.H:54
amrex::Real sun_zenith_deg
fixed: zenith angle [deg]
Definition: ERF_IBSEBParams.H:47
amrex::Real lw_down
fixed: sky longwave [W/m2]
Definition: ERF_IBSEBParams.H:73
amrex::Real z_i
Fixed mixed-layer depth [m] (z_i_mode = fixed, and the fallback)
Definition: ERF_IBSEBParams.H:138
amrex::Real z0h_wall
Heat roughness of the faces [m].
Definition: ERF_IBSEBParams.H:86
amrex::Real sw_diffuse
fixed: diffuse irradiance on a horizontal surface [W/m2]
Definition: ERF_IBSEBParams.H:50
amrex::Real sun_azimuth_deg
fixed: azimuth clockwise from north [deg]; 180 = sun in the south
Definition: ERF_IBSEBParams.H:48
bool stability_correction
Definition: ERF_IBSEBParams.H:87
amrex::Real T_skin_init
Initial skin temperature [K].
Definition: ERF_IBSEBParams.H:28
amrex::Real latitude_deg
solar: site latitude, north positive
Definition: ERF_IBSEBParams.H:51
std::string obukhov_seed
"ground" or "neutral"
Definition: ERF_IBSEBParams.H:134
amrex::Real sw_diffuse_coeff
solar: share of the attenuated beam that arrives as diffuse light
Definition: ERF_IBSEBParams.H:57
amrex::Real T_skin_max
Upper bound [K]; raise it for faces under a fire.
Definition: ERF_IBSEBParams.H:115
amrex::Real emissivity
Face longwave emissivity.
Definition: ERF_IBSEBParams.H:61
int newton_max_iter
Newton iteration cap per face and step.
Definition: ERF_IBSEBParams.H:116
Here is the call graph for this function:

Member Data Documentation

◆ albedo

amrex::Real IBSEBParams::albedo = 0.3

Face shortwave albedo.

Referenced by init_params().

◆ albedo_ground

amrex::Real IBSEBParams::albedo_ground = 0.2

Ground albedo for the reflected diffuse term.

Referenced by IBFaceSet::compute_shortwave(), and init_params().

◆ beta_conv

amrex::Real IBSEBParams::beta_conv = 1.2

Gustiness factor on w*.

Referenced by init_params().

◆ convective_velocity

std::string IBSEBParams::convective_velocity = "none"

"none" or "deardorff"

Referenced by init_params().

◆ couple_heat

bool IBSEBParams::couple_heat = true

Add the face flux to the temperature equation.

Referenced by init_params().

◆ csv_file

std::string IBSEBParams::csv_file = "ibseb_buildings.csv"

Per-building report.

Referenced by init_params(), IBFaceSet::print_debug_summary(), and IBFaceSet::report().

◆ csv_int

int IBSEBParams::csv_int = 100

Steps between report rows; <= 0 disables.

Referenced by init_params(), and IBFaceSet::print_debug_summary().

◆ day_of_year

amrex::Real IBSEBParams::day_of_year = 172.0

solar: day of year

Referenced by IBFaceSet::compute_shortwave(), and init_params().

◆ debug

bool IBSEBParams::debug = false

[IBSEB DEBUG] prints: set description at build, per-step summary, per-building rows

Referenced by IBFaceSet::compute_shortwave(), init_params(), IBFaceSet::load_state(), IBFaceSet::report(), and IBFaceSet::save_state().

◆ dump_faces_file

std::string IBSEBParams::dump_faces_file

Per-rank face dump at report time (empty = off)

Referenced by init_params(), and IBFaceSet::report().

◆ dump_faces_tag_step

bool IBSEBParams::dump_faces_tag_step = false

Name each dump by its step (keeps every one) instead of overwriting.

Referenced by init_params(), and IBFaceSet::report().

◆ emissivity

amrex::Real IBSEBParams::emissivity = 0.9

Face longwave emissivity.

Referenced by init_params().

◆ emissivity_ground

amrex::Real IBSEBParams::emissivity_ground = 0.95

Ground emissivity for the ground term.

Referenced by init_params().

◆ enable

bool IBSEBParams::enable = false

Master switch.

Referenced by init_params().

◆ k_therm

amrex::Real IBSEBParams::k_therm = 1.0

Uniform conductivity [W/m/K].

Referenced by init_params().

◆ latitude_deg

amrex::Real IBSEBParams::latitude_deg = 40.0

solar: site latitude, north positive

Referenced by IBFaceSet::compute_shortwave(), and init_params().

◆ longitude_deg

amrex::Real IBSEBParams::longitude_deg = -105.0

solar: site longitude, east positive

Referenced by IBFaceSet::compute_shortwave(), and init_params().

◆ lw_down

amrex::Real IBSEBParams::lw_down = 300.0

fixed: sky longwave [W/m2]

Referenced by init_params().

◆ lw_mode

std::string IBSEBParams::lw_mode = "gray"

Referenced by init_params().

◆ material_by_building

std::vector<int> IBSEBParams::material_by_building

Referenced by init_params().

◆ material_default

int IBSEBParams::material_default = 1

Referenced by init_params().

◆ material_file

std::string IBSEBParams::material_file

Referenced by init_params().

◆ n_slab_layers

int IBSEBParams::n_slab_layers = 4

Conduction layers per face.

Referenced by init_params(), and IBFaceSet::n_layers().

◆ newton_max_iter

int IBSEBParams::newton_max_iter = 20

Newton iteration cap per face and step.

Referenced by init_params().

◆ newton_max_step_K

amrex::Real IBSEBParams::newton_max_step_K = 20.0

Largest Newton step [K].

Referenced by init_params().

◆ newton_tol_K

amrex::Real IBSEBParams::newton_tol_K = 1.0e-3

Newton stops when a step changes T_skin by less than this [K].

Referenced by init_params().

◆ obukhov_relax

amrex::Real IBSEBParams::obukhov_relax = 0.5

Under-relaxation of the roof's u*, theta* iteration (1 = none), as erf-model #3486.

Referenced by init_params().

◆ obukhov_seed

std::string IBSEBParams::obukhov_seed = "ground"

"ground" or "neutral"

Referenced by init_params().

◆ prognostic

bool IBSEBParams::prognostic = true

Referenced by init_params().

◆ Q_ext_uniform

amrex::Real IBSEBParams::Q_ext_uniform = 0.0

Uniform external incident flux on every face [W/m2] (test hook)

Referenced by init_params().

◆ radiation

std::string IBSEBParams::radiation = "prescribed"

Referenced by init_params().

◆ rho_cp

amrex::Real IBSEBParams::rho_cp = 1.6e6

Uniform volumetric heat capacity [J/m3/K].

Referenced by init_params().

◆ ri_crit

amrex::Real IBSEBParams::ri_crit = 0.25

Critical bulk Richardson number of the diagnostic.

Referenced by init_params().

◆ sky_emissivity

amrex::Real IBSEBParams::sky_emissivity = 0.83

gray: effective clear-sky emissivity

Referenced by init_params().

◆ solar_constant

amrex::Real IBSEBParams::solar_constant = 1361.0

solar: [W/m2]

Referenced by IBFaceSet::compute_shortwave(), and init_params().

◆ stability_correction

bool IBSEBParams::stability_correction = false

Referenced by init_params().

◆ sun_azimuth_deg

amrex::Real IBSEBParams::sun_azimuth_deg = 180.0

fixed: azimuth clockwise from north [deg]; 180 = sun in the south

Referenced by IBFaceSet::compute_shortwave(), and init_params().

◆ sun_mode

std::string IBSEBParams::sun_mode = "fixed"

◆ sun_zenith_deg

amrex::Real IBSEBParams::sun_zenith_deg = 45.0

fixed: zenith angle [deg]

Referenced by IBFaceSet::compute_shortwave(), and init_params().

◆ sw_diffuse

amrex::Real IBSEBParams::sw_diffuse = 100.0

fixed: diffuse irradiance on a horizontal surface [W/m2]

Referenced by IBFaceSet::compute_shortwave(), and init_params().

◆ sw_diffuse_coeff

amrex::Real IBSEBParams::sw_diffuse_coeff = 0.5

solar: share of the attenuated beam that arrives as diffuse light

Referenced by IBFaceSet::compute_shortwave(), and init_params().

◆ sw_direct_normal

amrex::Real IBSEBParams::sw_direct_normal = 800.0

fixed: direct-normal irradiance [W/m2]

Referenced by IBFaceSet::compute_shortwave(), and init_params().

◆ sw_transmission

amrex::Real IBSEBParams::sw_transmission = 0.7

solar: bulk clear-sky transmission (Bird)

Referenced by IBFaceSet::compute_shortwave(), and init_params().

◆ T_ground

amrex::Real IBSEBParams::T_ground = 300.0

Ground temperature for the ground term [K].

Referenced by init_params().

◆ T_interior

amrex::Real IBSEBParams::T_interior = 293.0

Interior (deep) temperature [K].

Referenced by init_params(), and IBFaceSet::print_debug_summary().

◆ T_skin_init

amrex::Real IBSEBParams::T_skin_init = 300.0

Initial skin temperature [K].

Referenced by init_params(), and IBFaceSet::print_debug_summary().

◆ T_skin_max

amrex::Real IBSEBParams::T_skin_max = 380.0

Upper bound [K]; raise it for faces under a fire.

Referenced by init_params().

◆ T_skin_min

amrex::Real IBSEBParams::T_skin_min = 260.0

Lower bound of the skin temperature [K].

Referenced by init_params().

◆ thickness

amrex::Real IBSEBParams::thickness = 0.3

Uniform slab thickness [m].

Referenced by init_params().

◆ time_zero_utc_s

amrex::Real IBSEBParams::time_zero_utc_s = 12.0 * 3600.0

solar: seconds after 00:00 UTC at simulation time zero (the sun follows UTC and the longitude)

Referenced by IBFaceSet::compute_shortwave(), and init_params().

◆ view_n_az

int IBSEBParams::view_n_az = 16

Referenced by init_params().

◆ view_n_el

int IBSEBParams::view_n_el = 8

Referenced by init_params().

◆ z0_wall

amrex::Real IBSEBParams::z0_wall = 0.01

Momentum roughness of the faces [m].

Referenced by init_params().

◆ z0h_wall

amrex::Real IBSEBParams::z0h_wall = 0.001

Heat roughness of the faces [m].

Referenced by init_params().

◆ z_i

amrex::Real IBSEBParams::z_i = 1000.0

Fixed mixed-layer depth [m] (z_i_mode = fixed, and the fallback)

Referenced by init_params().

◆ z_i_mode

std::string IBSEBParams::z_i_mode = "bulk_ri"

"bulk_ri", "pblh" or "fixed"

Referenced by init_params().


The documentation for this struct was generated from the following file: