Get desktop application:
View/edit binary Protocol Buffers messages
Used in:
The name of the analytics variable that will serve as an internal state key and as the dump filename prefix. It is highly recommended that the key's prefix conform to the following format: MONITOR_[ANALYTICS_TYPE]_[STATE_NAME] E.g. a reasonable name for the second moment of the vertical velocity is 'MONITOR_moment_w_variance'. Note that this convention is recommended for readability purposes only, and the only true requirement is that there be no collisions between this and any of the state names or any of the keys specified in `helper_var_keys`.
Used in:
Surface emissivity; the same for all bands.
Surface albedo; the same for all bands.
The solar zenith angle (in radians).
The total solar irradiance (in W/m²).
The longwave incident flux at the top of the atmosphere (in W/m²).
Path of a csv file containing volume mixing ratio sounding for particular gas species on a uniform log scale pressure grid. One column should be labeled 'p_ref' for the corresponding pressure profile in Pa that will be used when interpolating to the simulation's pressure field. All other columns should be labeled with the chemical formula of the gas they correspond to. Note that the pressure grid under p_ref must be log-uniformly spaced to ensure accurate interpolation of the profiles.
The path of a json file containing volume mixing ratio global means, indexed by the gas chemical formula. This should be populated by gas species that have little variability in the atmosphere. The contents of the file should be a dictionary in json format.
Next id: 7
Used in:
One might do Taylor expansion to any order, for the preconditioner matrix sum's inverse: (1 + x)^{-1} = 1 - x + x^2 - x^3 + ...
When there is no Taylor expansion, fall back to the symmetric version, or apply the operator in the donimating direction only.
Parameters for the multistep biofuel combustion model. Next id: 3
Used in:
Stores the boundary conditions of a variable for the 6 faces of the computational domain.
Used in:
The name of the variable for which the boundary conditions belongs to.
The detailed information of each boundary.
Used in:
This controls the step_id when the buffer storing the boundary condition value is initialized to a desired value. The specific initialization will depend on the type of the boundary condition. Currently this is only used for NONREFLECTING boundary type.
This only applies for NONREFLECTING boundary condition type. It controls how the phase velocity in the convective nonreflecting boundary condition is determined. Specifically, ∂ϕ/∂t = - U* ∂ϕ/∂x, for the "high" side of the domain, and ∂ϕ/∂t = + U* ∂ϕ/∂x, for the "low" side of the domain, and for NONREFLECTING_LOCAL_MAX, the phase velocity is calculated on the boundary as local point-wise max: U* = abs(max(u + u0, 0)), for the "high" end, and U* = abs(min(u - u0, 0)), for the "low" end. For NONREFLECTING_GLOBAL_MEAN: U* = abs(global_mean(u) + u0), for the "high" end, and U* = abs(global_mean(u) - u0), for the "low" end. where `mean` is the global mean over the entire boundary. For NONREFLECTING_GLOBAL_MAX: U* = abs(max(global_max(u), 0) + u0), for the "high" end, and U* = abs(min(global_min(u), 0) - u0), for the "low" end. Note that `u0` is specified as the value in BoundaryInfo.
Used in:
The information of a boundary condition for a specific face. Next id: 6.
Used in:
The dimension of the boundary condition.
The location of the boundary: 1 indicates the `high` end, and 0 indicates the low end.
The type of the boundary condition.
The value associated with this boundary if `type` is `DIRICHLET`. TODO(wqing): make the value a 2D/3D array so that it can represent more complex boundary conditions.
Parameters associated with the specific boundary condition.
Stores parameters required by boundary models. Next id: 5
Used in:
Parameters required by the immersed boundary method.
Parameters required by the Monin-Obukhov Similarity Theory.
Parameters required by the Rayleigh damping layer (a.k.a sponge layer).
Parameters required by the simulated turbulent inflow library.
Parameters required by the Cartesian grid method. With this method, for variables with Dirichlet boundary condition, a mirror-flow approach is applied; and for those with Neumann boundary conditions, the values at the boundary is updated by taking average across all neighboring fluid nodes.
Used in:
Variables for which the Cartesian grid method is applied.
A library for combustion models. Each model is represented as a separate field to allow using a combination of models in one simulation. Next id: 3
Used in:
The wood combustion model.
The biofuel combustion model.
When evaluating convergence, one can use componentwise or elementwise difference as a criterion. Given two vectors `lhs`, `rhs`: 1. Compute `tol = atol + rtol * abs(rhs)` 2. Compute `diff = lhs - rhs` 3. Define `distance = max(abs(diff) - tol)` This is based on `rtol` applied to `rhs` only. If `symmetric` is set, one will compute the distance similarly and final distance is the maximum. Note that this criterion is close to `L_INF` norm, but not exact, and they're different in 2 ways: 1. residual = abs(diff) - tol, without an `abs` for `residual` 2. Based on #1, the distance could be negative when `lhs` & `rhs` are close enough. Next id: 4
Used in:
Absolute tolerance, dominant for small values close to `0`.
Relative tolerance, dominant for large values far away from `0`.
Parameters required by the constant density model.
Used in:
(message has no fields)
The Thickened Flame model with constant coefficients. Next id: 2
Used in:
Defines the flame thickening factor. This factor is the multiplier to the diffusivity, and the divisor to the reaction source term.
Defines the types of convection schemes. Next id: 10
Used in: ,
The default option where no scheme is used. Should results in an error.
The first order upwinding scheme.
The second order upwinding QUICK scheme.
The fifth order WENO scheme.
The third order WENO scheme.
The third order WENO scheme based on pre-trained neural network.
The second order central differencing shceme.
The fourth order central differencing shceme.
The Van Leer flux limiter.
The MUSCL scheme.
Parameters that are required to compute the dehydration source term. Next id: 4
Used in:
The activation temperature of the dehydration process.
The Arrhenius constant for the dehydration rate.
The minimum temperature that the dehydration process starts. Default is set to 0 to allow the dehydration process to start at any temperature.
Defines the types of diffusion schemes.
Used in:
The default option where no scheme is used. Should results in an error.
The diffusion term computed with the second order central scheme at nodes. The width of the stencil is 5.
The diffusion term computed from diffusive fluxes on cell faces. The width of the stencil is 3.
The diffusion term computed with a 27-node stencil (3 in each direction) without interpolations.
Parameters required by the direct forcing (with 1D interpolation) method. With this method, a force term is applied at the interface between the solid and fluid for all variables listed, which replaces the original right hand side function for these variables. Values inside the solid body remain untouched. Note that, to use this method, the user needs to provide a tensor that stores the correct interpolation weights of the immersed boundary.
Used in:
Variables for which the direct forcing method is applied.
The dimension along which the immersed boundary is cutting through and interpolated. Should be one of 0, 1, and 2.
Parameters required by the direct forcing method. With this method, a Rayleigh damping force is applied inside the solid for all variables listed, which overrides the original equation right hand side function.
Used in:
Variables for which the Rayleigh damping method is applied.
The value of the damping coefficient.
Parameters required by the feedback force (with 1D interpolation) method. With this method, a force term with constant damping coefficient is applied at the interface between the solid and fluid for all variables listed. Values inside the solid body remain untouched. Note that, to use this method, the user needs to provide a tensor that stores the correct interpolation weights of the immersed boundary.
Used in:
Variables for which the feedback force method is applied.
The dimension along which the immersed boundary is cutting through and interpolated. Should be one of 0, 1, and 2.
The value of the damping coefficient.
Defines configurations for a generic scalar.
Used in:
(message has no fields)
Used in:
Reference surface pressure.
The ratio of the pressure scale height to the partial-pressure scale height of the infrared absorber.
Longwave optical depth of the entire gray atmosphere.
Shortwave optical depth of the entire gray atmosphere.
Defines configurations for total humidity. Next id: 7
Used in:
An option of whether the effect of subsidence velocity is included in the total humidity equation.
Information of a variable that's required to update its value in the immersed boundary.
Used in: , , , , ,
The name of the variable. Next id: 6
The reference value of this variable. This value is used as the target value inside the solid body. Currently only a single value is allowed inside the body. Cases that have multiple values inside the solid will be handled externally.
The type of boundary condition to be applied at the solid-fluid interface.
An indicator of whether generated IB field overrides the original value. If `false`, the newly computed value will be added to the existing field with the same key.
The value of the damping coefficient. This damping coefficient will override the global damping coefficient, and will be applied to this specific variable only. This coefficient is only used in the `sponge` and direct forcing methods. Note that this parameter is not affected by the `override` option provided above.
Types of boundary conditions to be applied at the solid-fluid interface. Next id: 4
Used in:
Neuamnn BC in the z direction. This can only be applied when there's only 1 fluid-solid interface in the z direction.
Parameters required by the ideal gas law. Next id: 6
Used in:
The surface temperature, K. The default value is provided in the CLIMA design doc.
The height of the domain, in units of meter. Default value roughly represents of Earth’s midlatitude atmosphere.
The temperature difference between the top and bottom of the domain, in units of K. Default value roughly represents of Earth’s midlatitude atmosphere.
An indicator of whether constant potential temperature is used to define the reference/hydrostatic pressure. Do not define this field if the potential temperature in the simulation setup is not a constant.
Isochoric specific heats of the dry air, J/kg/K. Sources for values below: 1. Pressel, Kyle G., Colleen M. Kaul, Tapio Schneider, Zhihong Tan, and Siddhartha Mishra. 2015. “Large-Eddy Simulation in an Anelastic Framework with Closed Water and Entropy Balances: LARGE-EDDY SIMULATION FRAMEWORK.” Journal of Advances in Modeling Earth Systems 7 (3): 1425–56. 2. https://www.engineeringtoolbox.com/water-properties-d_1508.html.
Parameters required by the immersed boundary method. Next id: 7
Used in:
Parameters required by the Kessler microphysics. The full implementation of the model is in microphysics_kw1978.
Used in:
(message has no fields)
A library for Lagrangian Particle Tracking (LPT) simulations. Next id: 9
Used in:
The particle drag coefficient.
The particle relaxation time.
The threshold mass below which the particle is considered to be vanished.
The maximum number of particles that a replica can have.
The regions where particles can be injected.
How the particles are stored in multi-TPU simulations.
The approach where particles remain stored on their original TPU, regardless of where they are located in the domain, and field data is requested from the TPUs containing the particle locations to solve the equations of motion of the particles.
Used in:
The approach to communicate fluid data between TPUs. Both approaches were determined to be approximately equal in performance.
Used in:
The communication mode is unspecified. This is an error.
The approach where each replica is assigned a destination replica, and the destination replica is assigned the present replica. The present replica sends the locations of particles located on the destination replica to the destination replica. The destination replica then interpolates the relevant fluid data at these locations and sends them back to the present replica. The present replica, simultaneously, does the same for the destination replica. This process is repeated `n` times for `n` total replicas. After `n` iterations, each replica will have communicated with every other replica, including itself.
The approach where the replicas are arranged in a circle, and each replica sends data to the next replica in the circle and receives data from the previous replica in the circle. Every iteration, each replica interpolates the incoming particle locations that are physically located within that replicas domain, and inserts the data into the circulating data. After this process is repeated `n` times, the data will have returned to the original replica, and each replica will have the fluid data for all of its particle locations.
A three dimensional method to inject particles into the field.
Used in:
The name of the injector region.
Random number generation seed.
Parameters that specify what timestep(s) to inject particles.
The attributes (e.g., velocities and masses) to assign new particles.
The type of injector region used including different shapes or otherwise.
A box where particles can be injected.
A box where particles are injected.
Used in:
The minimum point of the box.
The maximum point of the box.
Used in:
The time step to first inject particles (e.g., 0 for the first step).
An optional periodic injection schedule to begin after the first injection. If this is undefined, the injector is only called once at `initial_injection_step`. If this is defined, the injector is called every `period` steps after the `initial_injection_step`.
Used in: ,
The injected particle attributes. Here, you can either define particles completely randomly, or using prescribed velocities.
Used in:
Number of particles to initialize in total upon each call to the injector.
An optional field of u, v, w components for the velocities of the particles. If undefined, the particle directions, polar and azimuthal, are initialized randomly across the unit sphere and velocity magnitudes are uniformly distributed between 0 and `speed_max`.
The mass of each particle. If undefined, the mass is set to an infinitesimal rigid particle.
The maximum random velocity magnitudes for the particles. Particle velocity magnitudes are uniformly distributed between 0 and this value.
Parameters required by the linear mixing model.
Used in:
(message has no fields)
Parameters required by the marker-and-cell (MAC) method. With this method, for variables with Dirichlet boundary condition, the prescribed value is assgined directly at the solid-fluid interface; for those with Neumann boundary conditions, values at the boundary is updated by taking values from the node right above it in the z direction.
Used in:
Variables for which the marker-and-cell method is applied.
Stores parameters for the microphysics model.
Used in:
An option for including the effects of precipitation in the equations of humidity and possibly the energy variable.
An option for including the effects of condensation in the equations for humidity. Note that this option is only valid when using q_c, q_v, and theta as the thermodynamic variables.
An option for including sedimentation in the convective flux of the humidity variable.
Specifies the option of microphysics model.
The specification of a moment statistic. The k-th order moment of a state f is defined as E[(f - E[f])^k], where the expected value operator is over the homogeneous dimensions of the grid.
Used in:
Provide the name of a second state to obtain the cross moment of the two variables. This is useful when computing fluxes.
Parameters required by the Monin-Obukhov Similarity Theory. Next id = 20;
Used in:
The roughness length, in units of m.
The heat roughness thickness, in units of m.
The friction velocity, in units of m/s.
The The heat flux from the ground to the surface air, in units of J/m^2.
The reference temeprature, in units of K.
The stability correction coefficient for momentum.
The stability correction coefficient for heat.
An empirical constant with a value 0.74–1.0.
The surface temperature, in units of K.
An empirical coefficient used in the formulation of the momentum stability function for unstable boundary layer. Default value is taken from Stoll, Rob, and Fernando Porté-Agel. 2006. “Dynamic Subgrid-Scale Models for Momentum and Scalar Fluxes in Large-Eddy Simulations of Neutrally Stratified Atmospheric Boundary Layers over Heterogeneous Terrain.” Water Resources Research 42 (1): 2121.
An empirical coefficient used in the formulation of the energy stability function for unstable boundary layer. Default value is taken from Stoll, Rob, and Fernando Porté-Agel. 2006. “Dynamic Subgrid-Scale Models for Momentum and Scalar Fluxes in Large-Eddy Simulations of Neutrally Stratified Atmospheric Boundary Layers over Heterogeneous Terrain.” Water Resources Research 42 (1): 2121.
An option of whether to apply regularization to the potential temperature when evaluating the model closrue. If `true`, the potential temperature will be capped by an upper bound that is defined by `theta_max`.
The maximum potential temperature for the model evaluation.
The minimum potential temperature for the model evaluation.
Specifies the reference value at the sea surface level.
Specifies the exchange coefficient (if applicable) of scalars or momentum. If this field is provided, the exchange/drag coefficient for this particular variable will override the one computed from MOST.
Specifies scalars to which MOST is applied.
An option for printing debuging information in log. To activate the debug prints, the following flag is required: swirl_debug_log_level=INFO.
Gustiness parameter, used as the minimum value for the surface wind speed when computing surface fluxes, in units of m/s. See, e.g., Wing et al. (2018), Radiative-convective equilibrium model intercomparison project.
Defines a generic type for a reference value in the MOST model. Next id: 3
Used in:
The name of the variable.
The reference value of this variable.
The specification of analytics quantities to be tracked by the analytics monitor. Note that every AnalyticsSpec will contribute an additional state to the simulation that will be dumped along with the other states.
Used in:
A list of analytics requests, one for each state.
Time averaging specification. This is most useful for simulations that are supposed to reach a steady statistical state (i.e. time can be treated as a homogeneous dimension). It is also useful for eliminating the often noisy spinup phase from the analytics computation.
The specification of a norm.
Used in:
Used in:
Defines the types of numerical fluxes.
Used in:
The default option where no flux is used. Should results in an error.
The upwinding flux.
The Lax-Friedrich flux.
The Roe flux.
Parameters required by the one-moment microphysics. The full implementation of the model is in microphysics_one_moment.
Used in:
Humidity source is clipped such that q + source * dt >= humidity_source_term_limiter_k * q.
Rain related parameters and calibration coefficients.
Snow related parameters and calibration coefficients.
Ice related parameters.
Autoconversion related parameters.
Accretion related parameters.
Terminal velocity parameterization options.
The cut-off temperature for the microphysics source terms. Temperatures above this value will be treated as this value. Density will be adjusted accordingly to conform with the equation of state.
Constant coefficients in accretion.
Used in:
Collision efficiency between rain drops and cloud droplets.
Collision efficiency between snow and cloud droplets.
Collision efficiency between rain drops and cloud ice.
Collision efficiency between snow and cloud ice.
Collision efficiency between rain drops and cloud ice.
Constant coefficients in autoconversion.
Used in:
Timescale for cloud liquid to rain water autoconversion [s].
Timescale for cloud ice to snow autoconversion [s].
Threshold for cloud liquid to rain water autoconversion [kg/kg].
Threshold for cloud ice to snow autoconversion [kg/kg].
Threshold particle radius between ice and snow [m].
Constants for ice related quantities.
Used in:
The density of an ice crystal [kg/m^3].
Typical ice crystal radius [m].
Exponent to the radius ratio in the mass equation.
The calibration coefficients in the mass equation.
The `n_0` parameter in the Marshall-Palmer distribution.
Constants for rain related quantities.
Used in:
The density of a rain drop [kg/m^3].
The drag coefficient of a rain drop.
Typical rain drop radius [m].
Exponent to the radius ratio in the mass equation.
The calibration coefficients in the mass equation.
Exponent to the radius ratio in the cross section area equation.
The calibration coefficients in the cross section area equation.
The calibration coefficients in the terminal velocity equation.
The ventilation factor coefficients.
The `n_0` parameter in the Marshall-Palmer distribution.
Constants for snow related quantities.
Used in:
The apparent density of a falling snow crystal for calculating the terminal velocity [kg/m^3]. This is defined as the mass of the snow particle divided by the volume of circumscribing spheroid, and its value can range from 50 to 900 kg/m^3. In the atmosphere a typical value is around 100 kg/m^3.
Typical snow crystal radius [m].
Exponent to the radius ratio in the mass equation.
The calibration coefficients in the mass equation.
Exponent to the radius ratio in the cross section area equation.
The calibration coefficients in the cross section area equation.
Exponent to the radius ratio in the terminal velocity equation.
The calibration coefficients in the terminal velocity equation.
The snow size distribution parameter exponent.
The ventilation factor coefficients.
Defines the type of terminal velocity parameterization.
Used in:
An unimplemented terminal velocity.
Terminal velocity parameterization using power-law distribution.
Terminal velocity parameterization using gamma function distribution per Chen et al. (2022).
Used in:
Order of accuracy of face value reconstruction for interpolating pressure or temperature at grid cell boundaries. At least 3-rd order is recommended.
A message that stores the parameters required by the selected Poisson solver. Next id: 5
Used in:
A solver that has exactly one type. New solvers can be added to this field.
The parameters used by the conjugate gradient solver. Next id: 8
Used in:
The maximum number of iterations to be performed before the solution converges.
The width of the halo cells.
There could be multiple metrics to be used as convergence criterion: 1. L2 norm, absolute or relative to rhs 2. Componentwise difference, close to L_INF but not exactly the same. - For more details, refer to `ComponentWiseConvergence` definition. When both are specified, the final convergence criterion is a logical OR of these 2 conditions. Convergence criterion #1: L2 norm The absolute tolerance as a metric of the solution convergence.
Orthogonal to `atol`, on the `L2` norm as the convergence criterion: - true: `L2` reduction relative to `rhs` - false: Absolute `L2`
Convergence criterion #2: componentwise, close to L_INF though not exact.
If true, subtracting off the mean of residual and iterate.
The parameters used by the fast diagonalization/direct solver. Next id: 6
Used in:
The width of the halo cells.
The threshold for the eigenvalues to prevent division by zero.
Boundary conditions of the lower end of a domain in each dimension.
Boundary conditions of the higher end of a domain in each dimension.
The parameters used by the Jacobi iterative solver. Next id: 4
Used in:
The maximum number of iterations to be performed before the solution converges.
The width of the halo cells.
The weight to be applied to the update in each iteration.
Next id: 8
Used in:
The number of multigrid cycle iterations.
The number of smoother iterations.
The weight in the smoother. The default smoother is Jacobi, and the default value for the weight, 2/3, results in the standard weighted Jacobi.
The number of coarse grid correction iterations. Use 1 for V-cycle.
The coarsest subgrid shape.
Controls whether A-inverse is used. If false, smoothing is done at the coarsest level, rather than solving exactly.
A specification of boundary condition types per dimension.
Defines configurations for the liquid-ice potential temperature. Next id: 7
Used in:
An option of whether radiation is included in the liquid-ice potential temperature equation.
An option of whether the effect of subsidence velocity is included in the liquid-ice potential temperature equation.
Options for performing pre- and post-process in the simulation. Next id: 4
Used in:
Initializes pre- and post-process options from the config file. Next id: 7
Used in:
Initializes pre- and post-process options from command line flags.
Used in:
(message has no fields)
Initializes pre- and post-process options from flow through time. Note that this option is only valid if the face with index `inflow_face along the `mean_flow_dim` is associated with an inflow boundary type. The pre- and post-process step id will be rounded to the closest integer multiple of `num_steps`. Next id: 9
Used in:
The dimension along with the flow through time is computed. Must be one of 0, 1, and 2.
The face from which the inflow is going into the domain. 0 for the lower index end, and 1 for the higher index end.
The flow through time at which pre-process is applied.
The flow through time at which post-process is applied.
Conjugate gradient solver's preconditioner, to speed up convergence. Although Jacobi could be a good choice of precondition for e.g. diagonal dominant matrices, it does **NOT** apply for the Hessian matrix in Poisson solver, as its diagonal elements are all the same, and it doesn't help with convergence rate at all. Next id: 2
Used in:
A library of parameters for solving the pressure equation. Next id: 7
Used in:
The option and parameters of the Poisson solver.
The number of filter operations to be applied to dϱ / dt on the right hand side of the Poisson equation for pressure correction. The default values is from reference: Charles D. Pierce and Parviz Moin, Progress-variable approach for large-eddy simulation of turbulent combustion. California, USA: Stanford University, 2001.
A threshold for the rate change of density, i.e. the d rho / dt term, on the right hand side of the pressure Poisson equation. If the relative density change magnitude is smaller than `d_rho_rtol`, it's considered as 0.
An option for making OUTFLOW (homogenoeus Neuamnn boundary condition for all velocity components) a pressure outlet. If this option is `true`, a homogeneous Dirichlet boundary condition will be enforced for pressure and its correction when an OUTLET boundary condition is detected. Default set to `false` for backward compatibility.
An option for updating the pressure boundary condition based on the latest flow field and its boundary condition. If this option is `true`, the user specified boundary condition in the config file will be overwritten by the derived quantities based on the momentum equation, i.e. dp/dn = -convection + diffusion, where n is the direction normal to a boundary. If this option is `false`, it will follow the boundary condition specified in the config. Note that `pressure_outlet` option is not used if the option of this parameter is `false`. Default set to `true` for backward compatibility.
An option for the treatment of the pressure boundary condition at a wall in the presence of gravity.
Used in:
Original implementation where pressure and buoyancy at the wall only approximately balance. This is currently left as the default option so as not to break existing simulations. New simulations should prefer the option PRESSURE_BUOYANCY_BALANCING. Eventually, this option will be removed.
Option where the BC is computed precisely to ensure balance of the pressure and buoyancy force at the wall, to avoid spurious forcing of a fluid from equilibrium.
Defines parameters that initializes probes. Next id: 5
Used in:
The physical coordinates of the probe location in units of m. The origin is (0, 0, 0).
The name of the variables to be retrieved by the probe.
The total number of time steps that values are collected. This field will be replaced by the value computed from the flag input after b/142351512 is resolved.
The starting step of the simulation. This field will be replaced by the value defined by flag after b/142351512 is resolved.
Parameters that are required to compute the source terms due to pyrolysis and char oxidation. Next id: 2
Used in:
Stores the parameters required by the radiation optics library. Next id: 6
Used in:
Path of NetCDF file containing the longwave lookup tables.
Path of NetCDF file containing the shortwave lookup tables.
Path of NetCDF file containing the cloud longwave lookup table.
Path of NetCDF file containing the cloud shortwave lookup table.
Used in:
The optics library that calculates optical depth, single-scattering albedo, and other local optical properties of the layered atmosphere.
Data about the prevalent atmospheric gases present in the atmosphere as well as boundary conditions for the surface and top of atmosphere.
The time interval between updates of the radiative fluxes (in seconds). Since the RRTMGP model is very computationally expensive, it is highly recommended that the update cycle be no less than 10 minutes. However, too long an update cycle can lead to instabilities (Pauluis and Emanuel 2004, https://doi.org/10.1175/1520-0493(2004)132<0673:NIRFIC>2.0.CO;2).
Supercycling time interval between applying the radiative transfer model in the energy equation (in seconds). When it is applied, its amplitude will be scaled larger appropriately. This option exists because the radiation update in the temperature equation can be too small relative to the existing temperature and be lost to floating point truncation in single precision. In practice, the supercycling time interval should be less than or equal to `update_cycle_seconds`. Furthermore, the supercycling time interval should be as small as possible, but large enough such that floating point precision is not an issue. If this field is left empty, or set to 0, we do no supercycling and apply the radiative heating at every step.
An analytics specification for a raw state, without any transformation or reduction. Note that if time averaging is enabled the actual value stored is the average of the state over time.
Used in:
(message has no fields)
Stores information required by the Rayleigh damping (sponge) layers. The RayleighDampingLayer proto defines a set of layers (zero or more per face) and the variables that interact with this set. Multiple RayleighDampingLayer messages are allowed in a single config but a variable can interact with at most one set of layers. This still allows different variables to be damped by different sets of sponge layers, e.g., velocity components might be damped on the sides and top of a domain and the same time rain content might be damped on all six faces. Next id: 5
Used in: ,
The direction(s) to take average for variables whose target value is not provided. This average value will be used as the target value for that variable. Valid values are 0, 1, and 2.
Name of the variable that contains the damping coefficient beta in 'additional_states'. If not set, the default name of 'sponge_beta' will be used.
Information of the orientation of the sponge layer/layers. Next id: 5
Used in:
The dimension along which the sponge layer is applied. Allowed values are 0, 1, and 2, which corresponds to the x, y, and z directions, respectively.
The face index at which the sponge is applied. Should be one of 0 and 1, where 0 suggests the sponge is arranged at the lower end of `dim`, and 1 is at the higher end of `dim`.
The fraction in the domain along `dim` that the sponge layer is applied. NB: the sponge layer is always applied close to the face with a larger index.
The coefficient used to compute the maximum magnitude of the sponge force. Scales inversely with the force.
The information required to compute the forcing term in the sponge layers. NB: only one target value can be applied to a single variable. Otherwise the connection between sponge layers is ambiguous. Next id: 6
Used in:
The name of the variable to which the sponge force is applied.
The target value in the sponge layer for this specific variable. If none provided, then the target will be the mean of the field along the homogeneous dimensions.
The fixed target value of the sponge layer.
The name of the state to be used as a sponge target.
An indicator of whether the sponge force is applied to a primitive variable or a conservative one. If 'true', the force term is generated for the primitive variable; otherwise the force term is for a conservative variable and needs to be multiplied by `rho`. For example, if the primitive variable is `phi`, then the corresponding conservative variable is `rho phi`. `phi` here can ben any velocity components or transported scalars. Setting the default to 'true' to match the behavior before adding this field.
Parameters required by the Rayleigh-damping method. With this method, a forcing term with constant damping coefficient is applied inside the solid for all variables listed.
Used in:
Variables for which the Rayleigh damping method is applied.
The value of the damping coefficient.
Defines the properties of a scalar to be included in the flow field. Next id: 16
Used in:
The name of the scalar.
The diffusivity of the scalar.
The density of the scalar, in units of kg/m^3. Setting default to 1.0 for a generic gas.
The molecular weight of the scalar, in units kg/mol. Setting default to air for common uses that are not mixing or reacting.
An indicator for whether this scalar is solved in the flow system. Default setting to true, which indicates that scalars included in the textproto will be solved by default.
The scheme to be used to discretize the convection term.
The scheme to be used for time advancement for a scalar, and if absent it will fall back to the shared time integration scheme, specified in `SwirlLMParameters`'s `time_integration_scheme`: swirl_lm/base/parameters.proto
A reference value for the scalar.
The diffusive flux to be applied at specific boundaries.
Configurations for specific scalars.
Override the BC type for this scalar, which affects the convection term calculation.
Specifies a constant diffusive flux for the scalar if required.
Used in:
The dimension of the diffusive flux. Allowed values are 0, 1, and 2, which corresponds to the x, y, and z directions, respectively.
The face index of the diffusive flux. Should be one of 0 and 1, where 0 suggests the flux is on the lower end of `dim`, and 1 is on the higher end of `dim`.
Specifies the value of the flux, or a variable name that stores the flux.
The value of the diffusive flux. This value will be applied on the entire boundary.
The name of the variable in `additional_states` that specifies the flux. It is required that the flux specified this way has to be a plane that conforms with the dimension and representation of 3D flow field variables. For example, for a face in dim 0, the flux variable has to have a shape of (nz, 1, ny) or (nz, ny).
By default, the wall BC type (e.g. SLIP_WALL, NON_SLIP_WALL) used for scalar transport convection term calculation is derived from velocity BC. This allows the overriding of the derived BC for a specific scalar in a specific dimension, on a specific face. This will set the BC type to UNKNOWN, which affects the convection term calculation for this scalar at the boundary, e.g. when the original boundary type is a wall.
Used in:
The dimension of the wall BC type to be overriden. Allowed values are 0, 1, and 2, which corresponds to the x, y, and z directions, respectively.
The face index of the wall BC type to be overriden. Should be one of 0 and 1, where 0 indicates the flux is on the lower end of `dim`, and 1 is on the higher end of `dim`.
Stores information required by the simulated turbulent inflow library. Next id: 8
Used in:
Specifies the dimension of the inflow. A 2D plane perpendicular to this dimension will be retrieved as the inflow.
Specifies if the current simulation is for inflow generation or enforcement.
The inflow handler is used for inflow data generation.
The inflow handler is used for inflow boundary condition enforcement.
Specifies the total number of time steps to be collected/loaded as the inflow data. Needs to be fully divisible by the number of cores along the inflow dimension.
Specifies the index in terms of time step at which to start the inflow data collection or boundary condition enforcement.
Specifies the interval of time between 2 consecutive inflow snapshots to be collected/imposed as boundary condition in the inflow data.
Specifies the names of scalars for which the inflow is collected/enforced.
Stores information required to apply the inflow generated by another simulation. Next id: 5
Used in:
Specifies the directory of the inflow data file.
Specifies the prefix of the inflow data file.
Specifies the step where the inflow data file is loaded.
Specifies the face where inflow is coming from.
Stores information required to generate the inflow. Next id: 2
Used in:
Specifies the location in physical coordinates (i.e. in units of m) where the 2D plane is obtained along `inflow_dim`.
Methods for how the simulation time, including the number of cycles (`num_cycles`) and number of steps per cycles (`num_steps`), are determined. Next id: 4
Used in:
Parameters are passed in from the config file.
Used in:
Parameters are passed in from flags.
Used in:
(message has no fields)
Parameters are derived from the flow through times that is computed as l / bc_u in the `mean_flow_dim`. Note that this option is only valid if the face with index `inflow_face` along the `mean_flow_dim` is associated with an inflow boundary type. Next id: 5
Used in:
The number of cycles the simulation runs. This parameter determines the total number of restart files to be dumped.
The dimension along with the flow through time is computed. Must be one of 0, 1, and 2.
The face from which the inflow is going into the domain. 0 for the lower index end, and 1 for the higher index end.
The total number of flow through times that the simulation needs to cover.
Stores information about analytics requests for a single state.
Used in:
The name of the field or state from which the analytics will be computed.
The list of analytics specifications for this state.
Stores information about a sub-grid scale model. Next id: 9
Used in:
An upper bound of the turbulent viscosity.
An upper bound of the turbulent diffusivity.
A lower bound of the turbulent viscosity.
A lower bound of the turbulent diffusivity.
Parameters required by the dynamic Smagorinsky model.
Used in:
An indicator of periodicity in the x direction.
An indicator of periodicity in the y direction.
An indicator of periodicity in the z direction.
Parameters required by the Smagorinsky-Lilly model. Default values are retrieved from reference: Stevens, Bjorn, Chin-Hoh Moeng, Andrew S. Ackerman, Christopher S. Bretherton, Andreas Chlond, Stephan de Roode, James Edwards, et al. 2005. “Evaluation of Large-Eddy Simulations via Observations of Nocturnal Marine Stratocumulus.” Monthly Weather Review 133 (6): 1443–62.
Used in:
The Smagonrinsky constant.
The turbulent Prandtl number.
An indicator of whether the turbulent diffusivity is computed using the turbulent Prandtl number, or from the scalar gradient directly. Default to use the turbulent Prandtl number to match the original behavior.
Parameters required by the constant Smagorinsky model.
Used in:
The Smagonrinsky constant.
The turbulent Prandtl number.
An indicator of whether the turbulent diffusivity is computed using the turbulent Prandtl number, or from the scalar gradient directly. Default to use the turbulent Prandtl number to match the original behavior.
Note that the default is DIAGONAL for backward compatibility but GEOMETRIC_MEAN is preferred especially with high aspect ratio grids.
Used in:
Delta coefficient is sqrt(dx^2 + dy^2 + dz^2).
Delta coefficient is (dx * dy * dz) ^ (1/3).
Parameters required by the Vreman model. Reference: Vreman, A. W. 2004. “An Eddy-Viscosity Subgrid-Scale Model for Turbulent Shear Flow: Algebraic Theory and Applications.” Physics of Fluids 16 (10): 3670–81.
Used in:
The Smagonrinsky constant. Default value is taken from the reference.
The turbulent Prandtl number. Default value is taken from the reference.
Stores the parameters required by an incompressible Navier-Stokes simulation. Next id: 43
The mesh information.
The type of kernel operator to be used to represent finite difference operators. Default set to `KERNEL_OP_CONV` to match previous behavior.
The scheme used to discretize the convection term.
The numerical flux for the convection term. Setting default to upwinding for backward compatibility.
The scheme used to discretize the diffusion term.
The stability limit of diffusion. It sets an upper bound for the viscosity and diffusivity, including those from both kinematic and sub-grid scale (if used), so that nu <= diff_stab_crit h^2 / dt, with h being the minimum of dx, dy, and dz. If it is not set, no upper bound is applied.
The scheme used for the time integration, which is shared for momentum/ velocity and scalars' time advancement by default. When one needs a different time integration scheme for scalars, one could explicitly add `Scalar`'s `time_integration_scheme` field in: swirl_lm/equations/scalars.proto In this case, the scalar specific one will overwrite the shared one here.
The option for how the number of cycles and steps are determined. If not set, `num_cycles` and `num_steps` will be set from flags.
The option for how the pre- and post-process options are specified. If not set, these options will be determined from flags.
An option for enabling the correction of primitive scalars after the density update from the equation of state. If it is `true`, results of primitive scalars will be updated by the density computed at the current subiteration; otherwise they are stay the same as the ones computed from the scalar-prediction step. Default set to `true` for backward compatibility. Note that scalars oscillations are mitigated with this option being `false` in cases with combustion.
An option for enabling the Rhie-Chow correction of the face-interpolated momentum in the convection term of the momentum equation. This correction mitigates oscillations in the pressure field and flow field by coupling the two explitictly. Default set to `true` for backward compatibility. Note that this may create instability if the solver is already introducing some degree of coupling between the pressure and the flow field.
The boundary conditions for all variables.
The number of sub-iterations of the pressure solver.
Options for the pressure solving step.
The number of sub-iterations within each time step in the Crank-Nicolson scheme.
The density of the flow field [kg/m^3].
The kinematic viscosity of the flow field [m^2/s].
The thermodynamic pressure of the flow field [Pa]. Default set to 1 bar, which is the standard atmospheric condition.
The procedure for pressure and momentum updates in the solver.
The names of transported scalars.
The names of additional states, which are constants that will be used in the simulation, e.g. boundary condition etc.
The names of the variables that are used as helper in computation. These variables are not subjected to the splitting in z-direction, and they don't have to be of the same size as the mesh.
The direction vector of gravity if it is considered in the simulation. The default case of (0, 0, 0) corresponds to the case of no gravity.
The option of using sub-grid scale model. If `False`, the simulation is DNS, otherwise it's an LES. Default solver is DNS.
The choice of sub-grid scale model to use in the simulation.
The option of updating density. This will be deprecated and replaced by `thermodynamics`.
The thermodynamic model that's used to update the density.
Information required by combustion models.
Information required by the turbulent-combustion model. The turbulent- combustion model is a closure model for combustion. It does not provide the reaction source terms due to combustion. It should only be used when a combustion model is defined. Note that the turbulent combustion model is a closure model for combustion in the context of large-eddy simulation. It does not consider the modeling of source terms due to chemical reaction, thus is configured independently from the combustion model.
A filter of variable names to be loaded from files if the filter is used. The option for using this filter will be set by a command line flag.
A filter of variable names to be dumped to files.
Information required for sponge layers if applied. This will be deprecated, and contained in `boundary_models`.
Information required for boundary models if applied.
Specification of analytics monitoring variables.
Specification of probes that retrieves values at user specified locations.
If True, all field variables are 3D tf.Tensor. Otherwise, they are Sequence[tf.Tensor].
The radiation model that solves a two-stream radiative transfer equation taking into account the full atmospheric state.
The Lagrangian particle tracking model that solves the motion of particles in a fluid flow.
Names of debug variables to save at the end of each cycle. When adding code to output a new debug variable, update the list below, which serves as documentation for available debug variables. Available Debug Variables -------------------------------------------------------------------------
The cloud microphysics parameterization.
Defines the method types for density update. This will be deprecated and replaced by `thermodynamics.Thermodynamics`.
Used in:
The default option where density is not updated. A constant density is used.
The option for updating density with a linear mixing rule.
The option for updating density from the equation of state.
The option for updating density with the water thermodynamics.
Defines the type of kernel operator to be used in the simulation algorithm.
Used in:
An unimplemented kernel operator type.
The option for using convolution to perform finite difference operations.
The option for using slicing to perform finite difference operations.
The option for using matrix multiplication to perform finite difference operations.
Defines the type of the simulation procedure to be used in the solver.
Used in:
The default option where no solver procedure is specified. Results in an error in this case.
The sequential procedure that first updates pressure then velocity.
The variable-density low Mach number solver.
Defines types of turbulent kinetic energy (TKE) models with required parameters.
Used in:
Computes the TKE based on flow field variables algebraically.
Used in:
(message has no fields)
Sets the TKE to a constant.
Used in:
Derives the TKE from the turbulent viscosity.
Used in:
(message has no fields)
A library of thermodynamics in a fluid simulation.
Used in:
The model of the solver for density representation.
Used in:
Unsupported solver mode.
The mode for representing density in the low-Mach number variable density approach. In this approach, the thermodynamic density is used to compute all conservative variables, hence there's a strong coupling between the momentum and thermodynamical quantities.
The mode for representing density in the anelastic approach. In this approach, the reference density (constant with respect to time), is used to compute all conservative variables. The thermodynamic density is used to compute the buoyancy term only, which conforms with the Boussinesq approximation.
Used in:
Physical time (in seconds) to start computing time-averaged analytics. If this field is unset, the averaging will start from step 0.
Physical time (in seconds) to stop updating time-averaged analytics. If unset, the end time is assumed to be the end of the simulation.
Defines the type of time integration schemes.
Used in: , ,
The default option where no scheme is used. Should result in an error.
The third order Runge Kutta scheme.
The semi-implicit Crank-Nicolson scheme with explicit subiterations.
Defines configurations for total energy. Next id: 6
Used in:
An option of whether radiation is included in the total energy equation.
An option of whether the effect of subsidence velocity is included in the total energy equation.
The turbulent combustion model selector. Next id: 2
Used in:
The Thickened Flame model with constant coefficients.
A library for parameters required by the water thermodynamics. Next id: 29
Used in:
The gas constant of water vapor, in unit of J/kg/K. The default value is computed based on treating the molecular weight of water as 0.018 kg/mol.
The reference temperature, in units of K. The default value is set at 0 degree Celsius.
The minimum temperature allowed, in units of K.
The temperature at freezing condition, in units of K.
The triple point temperature, in units of K. Source for the triple point values: engineeringtoolbox.com/critical-point-water-steam-d_834.html
The nucleation temperature, in units of K. Default value obtained from CliMa: https://github.com/CliMA/CLIMAParameters.jl/blob/main/src/Planet/planet_parameters.jl
The triple point pressure, in units of Pa.
The reference pressure used in the definition of potential temperature, in units of Pa. TODO(sheide): Double check the consistency of this parameter with `p_thermal`.
The reference specific internal energy of water vapor, in units of J/kg. The default value derived based on CLIMA design doc, Eq. 2.11.
The reference specific internal energy of ice, in units of J/kg. The default value derived based on CLIMA design doc, Eq. 2.11.
The latent heat of vaporization, in unit of J/kg. The default value is taken from http://www.splung.com/content/sid/6/page/latentheat.
The latent heat of fusion, in unit of J/kg. The default value is taken from http://www.splung.com/content/sid/6/page/latentheat.
Specific heats of the dry air at constant volume, J/kg/K. Sources for values below: 1. Pressel, Kyle G., Colleen M. Kaul, Tapio Schneider, Zhihong Tan, and Siddhartha Mishra. 2015. “Large-Eddy Simulation in an Anelastic Framework with Closed Water and Entropy Balances: LARGE-EDDY SIMULATION FRAMEWORK.” Journal of Advances in Modeling Earth Systems 7 (3): 1425–56. 2. https://www.engineeringtoolbox.com/water-properties-d_1508.html.
Specific heats of water vapor at constant volume, J/kg/K.
Specific heats of liquid water at constant volume, J/kg/K.
Specific heats of ice at constant volume, J/kg/K.
Specific heats of water vapor at constant pressure, J/kg/K.
Specific heats of liquid water at constant pressure, J/kg/K.
Specific heats of ice at constant pressure, J/kg/K.
The maximum number of iterations for the secant solver for temperature.
The tolerance of the secant solver for temperature's function f.
The atol and rtol of temperature when running iterations with Newton method, recommended value is < 1e-6, down to machine precision 1e-7 (with tf.float32) or even totally turned off (by setting it to be non-positive), unless there is enough information about the `f` function. To be backward compatible, when unset it falls back to reuse `temperature_tolerance`, though it's not recommended.
The number of iterations for density computation.
Whether to use the fast thermodynamics solver (only applicable when the prognostic variables are theta_li and q_t; no effect otherwise.)
An option of the reference state. This option assumes the thermodynamic states are constants regardless of the height.
Used in:
The reference temperature in units of K, e.g. the sea surface temperature, the far field temperature.
An option of the reference state. This option assumes the potential temperature is a constant. Next id: 5
Used in:
An indicator of whether constant potential temperature is used to define the reference/hydrostatic pressure. Do not define this field if the potential temperature in the simulation setup is not a constant.
The total humidity in the reference state.
The liquid humidity in the reference state.
The ice humidity in the reference state.
An option of the reference state. This option assumes the hydrostatic temperature follows a tanh profile, as specified in CliMa design doc, p 50, Eq. 7.3. Next id: 4
Used in:
The surface temperature, in units of K. The default value is provided in the CliMa design doc.
The height of the domain, in units of meter. Default value roughly represents of Earth’s midlatitude atmosphere.
The temperature difference between the top and bottom of the domain, in units of K. Default value roughly represents of Earth’s midlatitude atmosphere.
An option of the reference state where the profiles for pressure and potential temperature is defined by the user. With this option, it is required that `p_ref` and `theta_ref` are provided as additional_states. If `q_t_init` is also in additional_states, it will be used to compute the reference state; otherwise it is assumed that q_t = 0 in the reference state. The recommended practice for setting these states is to enforce the hydrostatic balance condition for all thermodynamics variables.
Used in:
(message has no fields)
A library for parameters required by the wood combustion model. References: [1] Linn, Rodman Ray. 1997. “A Transport Model for Prediction of Wildfire Behavior (No. LA-13334-T).” Edited by Francis H. Harlow. Ph.D, Los Alamos National Lab., NM (United States). [2] Linn, Rodman R. 2005. “Numerical Simulations of Grass Fires Using a Coupled Atmosphere–fire Model: Basic Fire Behavior and Dependence on Wind Speed.” Journal of Geophysical Research 110 (D13): 287. Next id: 23
Used in: ,
The B scale of the fuel elements, in units of m.
The length scale of the smallest fuel elements, in units of m. As the length scale decreases, the reaction rate increases.
The convective heat transfer coefficient, W/m²/K.
The ratio of the surface area of the fuel to the resolved volume (surface area per unit volume of fuel times the volume fraction).
The specific heats at constant pressure of the combined gas, J/kg/K.
The heat energy per unit mass associated with the reaction, J/kg.
The temperature at which the solid fuel begins to pyrolyze.
Number of RK3 iterations with each time step for the integration of reaction source term.
The option of including radiation in the fire source term. Default set to `false` to match behavior before change.
The ambient air temperature in K. This is only used when `include_radiation` is true.
Far-field temperature as a constant.
Far-field temperature from a flow field variable. This variable provides the name of this varialbe.
The efficiency factor that combines the effect of sub-grid scale temperature and emissivity. Default value set to 1 based one reference [1].
An empirical scaling coefficient in local fire reaction rates. This is number between 0.07 and 0.9. Default set to 0.9 suggested by FireTec.
The option of integration scheme to be used to compute the reaction source term.
The type of wood combustion model.
Defines the turbulent kinetic energy model to be used to compute the reaction source terms.
Defines the linear ramp function for ignited volume fraction (ivf). At T=t_0_ivf the fraction is 0 and at T=t_1_ivf, it is 1. See Figure 4.1 in [1].
The following three parameters are used to filter the temperature field before computing the reaction source term. The option of applying the temperature filter to the temperature field before computing the reaction source term.
The fraction of the weights to be applied along the axes.
The fraction of the weights to be applied at the center in the 3 x 3 stencil.
Parameters required by the dry wood combustion model.
Used in:
(message has no fields)
Parameters required by the combustion model with moisture.
Used in:
The heat energy per unit mass associated with liquid water evaporation, in units of J/kg. The default value is taken at 100 Celsius degree. Reference: https://www.engineeringtoolbox.com/water-properties-d_1573.html
The temperature at which the liquid water evaporates, in units of K. Default temperature set to 100 Celsius degree.
An empirical scaling coefficient for the evaporation rate.