|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|

Functions | |
| void | NormalizeMultiFabRMS_PerComponent (MultiFab &mf_cc_pert) |
| void | ApplyNeumannBCs (const Geometry &geom, MultiFab &mf_cc) |
| void | ReadCustomDataFile (const std::string &filename_custom, int &nx, int &ny, int &nz, int &ng, int &ncomp, std::array< Real, 3 > &problo_ext, std::array< Real, 3 > &probhi_ext, Vector< Real > &data_rho, Vector< Real > &data_theta, Vector< Real > &data_xvel, Vector< Real > &data_yvel, Vector< Real > &data_zvel, Vector< Real > &data_qv, Vector< Real > &data_qc, Vector< Real > &data_qrain) |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int | idx (int i, int j, int k, int nx, int ny) |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real | interp_trilinear (const Real *f, int i, int j, int k, Real tx, Real ty, Real tz, int nx, int ny, int nz) |
| void | InterpolateToFineMF (const Vector< Real > &data_rho, const Vector< Real > &data_theta, const Vector< Real > &data_xvel, const Vector< Real > &data_yvel, const Vector< Real > &data_zvel, const Vector< Real > &data_qv, const Vector< Real > &data_qc, const Vector< Real > &data_qrain, int nx, int ny, int nz, const std::array< Real, 3 > &problo, const std::array< Real, 3 > &probhi, MultiFab &mf_fine, const Geometry &geom_fine) |
| void | MakeFinalMultiFabs (const MultiFab &mf_cc_fine, MultiFab &cons_pert, MultiFab &xvel_pert, MultiFab &yvel_pert, MultiFab &zvel_pert, const int n_qstate_moist) |
| void | AddPertToBckgnd (MultiFab &mf_cc_fine, const MultiFab &mf_cc_pert, const Real &ens_pert_amplitude) |
| void AddPertToBckgnd | ( | MultiFab & | mf_cc_fine, |
| const MultiFab & | mf_cc_pert, | ||
| const Real & | ens_pert_amplitude | ||
| ) |
Add normalized perturbations to the interpolated background state.
| mf_cc_fine | Background state modified in place |
| mf_cc_pert | Perturbation field to apply |
| ens_pert_amplitude | Relative perturbation amplitude |
Referenced by ERF::create_background_state_for_ensemble().


| void ApplyNeumannBCs | ( | const Geometry & | geom, |
| MultiFab & | mf_cc | ||
| ) |
Fill periodic ghost cells and apply first-order extrapolation at boundaries.
| geom | Geometry defining domain bounds and periodicity |
| mf_cc | Cell-centered MultiFab whose ghost cells are filled in place |
Referenced by ERF::create_background_state_for_ensemble().


| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int idx | ( | int | i, |
| int | j, | ||
| int | k, | ||
| int | nx, | ||
| int | ny | ||
| ) |
Convert a three-dimensional cell index into a flattened array index.
| i | x-index |
| j | y-index |
| k | z-index |
| nx | Number of cells in the x-direction |
| ny | Number of cells in the y-direction |
Referenced by br_shift(), ChopGrids2D(), clamp_interp_index(), closest_index(), ERF::FillSurfaceStateMultiFabs(), NOAHMP::Init(), ERF::init_stuff(), ERF::InitData_post(), MRISplitIntegrator< T >::initialize_data(), interp_trilinear(), NOAHMP::Lsm_DataIndex(), NOAHMP::Lsm_FluxIndex(), parse_fixed_width_int(), ERF::read_box_for_refinement(), ReadBndryPlanes::read_file(), ReadBndryPlanes::read_input_files(), ReadCustomBinaryIC(), ReadCustomDataFile(), SatMethods::wv_sat_qsat_ice(), SatMethods::wv_sat_qsat_trans(), SatMethods::wv_sat_qsat_water(), SatMethods::wv_sat_svp_ice(), SatMethods::wv_sat_svp_trans(), and SatMethods::wv_sat_svp_water().

| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real interp_trilinear | ( | const Real * | f, |
| int | i, | ||
| int | j, | ||
| int | k, | ||
| Real | tx, | ||
| Real | ty, | ||
| Real | tz, | ||
| int | nx, | ||
| int | ny, | ||
| int | nz | ||
| ) |
Trilinearly interpolate one scalar component from a flattened array.
| f | Flattened source data |
| i | Lower x-index of the interpolation cell |
| j | Lower y-index of the interpolation cell |
| k | Lower z-index of the interpolation cell |
| tx | Fractional x-coordinate within the cell |
| ty | Fractional y-coordinate within the cell |
| tz | Fractional z-coordinate within the cell |
| nx | Number of cells in the x-direction |
| ny | Number of cells in the y-direction |
| nz | Number of cells in the z-direction |
Referenced by InterpolateToFineMF().


| void InterpolateToFineMF | ( | const Vector< Real > & | data_rho, |
| const Vector< Real > & | data_theta, | ||
| const Vector< Real > & | data_xvel, | ||
| const Vector< Real > & | data_yvel, | ||
| const Vector< Real > & | data_zvel, | ||
| const Vector< Real > & | data_qv, | ||
| const Vector< Real > & | data_qc, | ||
| const Vector< Real > & | data_qrain, | ||
| int | nx, | ||
| int | ny, | ||
| int | nz, | ||
| const std::array< Real, 3 > & | problo, | ||
| const std::array< Real, 3 > & | probhi, | ||
| MultiFab & | mf_fine, | ||
| const Geometry & | geom_fine | ||
| ) |
Interpolate coarse custom background data onto the fine cell-centered grid.
| data_rho | Coarse density values |
| data_theta | Coarse potential temperature values |
| data_xvel | Coarse x-velocity values |
| data_yvel | Coarse y-velocity values |
| data_zvel | Coarse z-velocity values |
| data_qv | Coarse water vapor values |
| data_qc | Coarse cloud water values |
| data_qrain | Coarse rain water values |
| nx | Number of coarse cells in the x-direction |
| ny | Number of coarse cells in the y-direction |
| nz | Number of coarse cells in the z-direction |
| problo | Physical lower bounds of the coarse data |
| probhi | Physical upper bounds of the coarse data |
| mf_fine | Fine-grid cell-centered MultiFab to fill |
| geom_fine | Geometry of the fine grid |
Referenced by ERF::create_background_state_for_ensemble().


| void MakeFinalMultiFabs | ( | const MultiFab & | mf_cc_fine, |
| MultiFab & | cons_pert, | ||
| MultiFab & | xvel_pert, | ||
| MultiFab & | yvel_pert, | ||
| MultiFab & | zvel_pert, | ||
| const int | n_qstate_moist | ||
| ) |
Split cell-centered interpolated background data into ERF state and face velocities.
| mf_cc_fine | Fine-grid cell-centered source data |
| cons_pert | Conserved-state perturbation MultiFab to fill |
| xvel_pert | x-face velocity perturbation MultiFab to fill |
| yvel_pert | y-face velocity perturbation MultiFab to fill |
| zvel_pert | z-face velocity perturbation MultiFab to fill |
Referenced by ERF::create_background_state_for_ensemble().


| void NormalizeMultiFabRMS_PerComponent | ( | MultiFab & | mf_cc_pert | ) |
Normalize each component of a perturbation MultiFab by its global RMS value.
| mf_cc_pert | MultiFab whose components are normalized in place |
Referenced by ERF::apply_gaussian_smoothing_to_perturbations().

| void ReadCustomDataFile | ( | const std::string & | filename_custom, |
| int & | nx, | ||
| int & | ny, | ||
| int & | nz, | ||
| int & | ng, | ||
| int & | ncomp, | ||
| std::array< Real, 3 > & | problo_ext, | ||
| std::array< Real, 3 > & | probhi_ext, | ||
| Vector< Real > & | data_rho, | ||
| Vector< Real > & | data_theta, | ||
| Vector< Real > & | data_xvel, | ||
| Vector< Real > & | data_yvel, | ||
| Vector< Real > & | data_zvel, | ||
| Vector< Real > & | data_qv, | ||
| Vector< Real > & | data_qc, | ||
| Vector< Real > & | data_qrain | ||
| ) |
Read binary custom ensemble background data into host vectors.
| filename_custom | Path to the custom binary data file |
| nx | Number of cells in the x-direction read from the file |
| ny | Number of cells in the y-direction read from the file |
| nz | Number of cells in the z-direction read from the file |
| ng | Number of ghost cells read from the file |
| ncomp | Number of stored components read from the file |
| problo_ext | Physical lower bounds read from the file |
| probhi_ext | Physical upper bounds read from the file |
| data_rho | Density values read from the file |
| data_theta | Potential temperature values read from the file |
| data_xvel | x-velocity values read from the file |
| data_yvel | y-velocity values read from the file |
| data_zvel | z-velocity values read from the file |
| data_qv | Water vapor values read from the file |
| data_qc | Cloud water values read from the file |
| data_qrain | Rain water values read from the file |
Referenced by ERF::create_background_state_for_ensemble().

