ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
Functions | |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | Newton_Raphson_hse (const Real &m_tol, const Real &RdOCp, const Real &dz, const Real &g, const Real &C, const Real &T, const Real &qt, const Real &qv, Real &P, Real &rd, Real &F) |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | init_isentropic_hse (const amrex::Real &r_sfc, const amrex::Real &theta, amrex::Real *r, amrex::Real *p, const amrex::Real &dz, const int klo, const int khi) |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | init_isentropic_hse_terrain (int i, int j, const amrex::Real &r_sfc, const amrex::Real &theta, amrex::Real *r, amrex::Real *p, const amrex::Array4< amrex::Real const > z_cc, const int &klo, const int &khi) |
Variables | |
const int | MAX_ITER = 10 |
const amrex::Real | TOL = 1.e-8 |
Utility functions for calculating a hydrostatic equilibrium (HSE) base state
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void HSEutils::init_isentropic_hse | ( | const amrex::Real & | r_sfc, |
const amrex::Real & | theta, | ||
amrex::Real * | r, | ||
amrex::Real * | p, | ||
const amrex::Real & | dz, | ||
const int | klo, | ||
const int | khi | ||
) |
Function to calculate the hydrostatic density and pressure
[in] | r_sfc | surface density |
[in] | theta | surface potential temperature |
[out] | r | hydrostatically balanced density profile |
[out] | p | hydrostatically balanced pressure profile |
[in] | dz | vertical grid spacing (constant) |
[in] | prob_lo_z | surface height |
[in] | khi | z-index corresponding to the big end of the domain |
Referenced by erf_init_dens_hse().
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void HSEutils::init_isentropic_hse_terrain | ( | int | i, |
int | j, | ||
const amrex::Real & | r_sfc, | ||
const amrex::Real & | theta, | ||
amrex::Real * | r, | ||
amrex::Real * | p, | ||
const amrex::Array4< amrex::Real const > | z_cc, | ||
const int & | klo, | ||
const int & | khi | ||
) |
Function to calculate the hydrostatic density and pressure over terrain
[in] | i | x-index |
[in] | j | y-index |
[in] | r_sfc | surface density |
[in] | theta | surface potential temperature |
[out] | r | hydrostatically balanced density profile |
[out] | p | hydrostatically balanced pressure profile |
[in] | z_cc | cell-center heights |
[in] | khi | z-index corresponding to the big end of the domain |
Referenced by erf_init_dens_hse().
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void HSEutils::Newton_Raphson_hse | ( | const Real & | m_tol, |
const Real & | RdOCp, | ||
const Real & | dz, | ||
const Real & | g, | ||
const Real & | C, | ||
const Real & | T, | ||
const Real & | qt, | ||
const Real & | qv, | ||
Real & | P, | ||
Real & | rd, | ||
Real & | F | ||
) |
Function to calculate the hydrostatic density and pressure from Newton-Raphson iterations
[in] | m_tol | iteration tolerance |
[in] | RdOCp | Rd/Cp |
[out] | dz | change in vertical height |
[out] | g | magnitude of gravity |
[in] | C | sum of known terms in HSE balance |
[in] | T | theta at the current cell center |
[in] | qt | total moisture (non-precip and precip) |
[in] | qv | water vapor |
[in] | P | pressure at cell center |
[in] | rd | dry density at cell center |
[in] | F | starting residual of non-linear eq |
Referenced by InputSoundingData::calc_rho_p().
const int HSEutils::MAX_ITER = 10 |
Referenced by init_isentropic_hse(), and init_isentropic_hse_terrain().
const amrex::Real HSEutils::TOL = 1.e-8 |
Referenced by init_isentropic_hse(), and init_isentropic_hse_terrain().