|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
#include "ERF_DataStruct.H"

Go to the source code of this file.
Functions | |
| void | ComputeDiffusivityMYJ (amrex::Real dt, const amrex::MultiFab &xvel, const amrex::MultiFab &yvel, amrex::MultiFab &cons_in, amrex::MultiFab &eddyViscosity, const amrex::Geometry &geom, const TurbChoice &turbChoice, std::unique_ptr< SurfaceLayer > &SurfLayer, bool use_terrain_fitted_coords, bool use_moisture, int level, const amrex::BCRec *bc_ptr, bool, const std::unique_ptr< amrex::MultiFab > &z_phys_nd, const MoistureComponentIndices &moisture_indices) |
| void | ComputeDiffusivityMYNN25 (const amrex::MultiFab &xvel, const amrex::MultiFab &yvel, const amrex::MultiFab &cons_in, amrex::MultiFab &eddyViscosity, const amrex::Geometry &geom, const TurbChoice &turbChoice, std::unique_ptr< SurfaceLayer > &SurfLayer, bool use_terrain_fitted_coords, bool use_moisture, int level, const amrex::BCRec *bc_ptr, bool, const std::unique_ptr< amrex::MultiFab > &z_phys_nd, const MoistureComponentIndices &moisture_indices) |
| void | ComputeDiffusivityMYNNEDMF (const amrex::MultiFab &xvel, const amrex::MultiFab &yvel, const amrex::MultiFab &cons_in, amrex::MultiFab &eddyViscosity, const amrex::Geometry &geom, const TurbChoice &turbChoice, std::unique_ptr< SurfaceLayer > &SurfLayer, bool use_terrain_fitted_coords, bool use_moisture, int level, const amrex::BCRec *bc_ptr, bool, const std::unique_ptr< amrex::MultiFab > &z_phys_nd, const MoistureComponentIndices &moisture_indices) |
| void | ComputeDiffusivityYSU (const amrex::MultiFab &xvel, const amrex::MultiFab &yvel, const amrex::MultiFab &cons_in, amrex::MultiFab &eddyViscosity, const amrex::Geometry &geom, const TurbChoice &turbChoice, std::unique_ptr< SurfaceLayer > &SurfLayer, bool use_terrain_fitted_coords, bool use_moisture, int level, const amrex::BCRec *bc_ptr, bool, const std::unique_ptr< amrex::MultiFab > &z_phys_nd, const MoistureComponentIndices &moisture_indices) |
| void | ComputeDiffusivityMRF (const amrex::MultiFab &xvel, const amrex::MultiFab &yvel, const amrex::MultiFab &cons_in, amrex::MultiFab &eddyViscosity, const amrex::Geometry &geom, const TurbChoice &turbChoice, std::unique_ptr< SurfaceLayer > &SurfLayer, bool use_terrain_fitted_coords, bool use_moisture, int level, const amrex::BCRec *bc_ptr, bool, const std::unique_ptr< amrex::MultiFab > &z_phys_nd, const MoistureComponentIndices &moisture_indices) |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE void | ComputeVerticalDerivativesPBL (int i, int j, int k, const amrex::Array4< const amrex::Real > &uvel, const amrex::Array4< const amrex::Real > &vvel, const amrex::Array4< const amrex::Real > &cell_data, const int izmin, const int izmax, const amrex::Real &dz_inv, const bool c_ext_dir_on_zlo, const bool c_ext_dir_on_zhi, const bool u_ext_dir_on_zlo, const bool u_ext_dir_on_zhi, const bool v_ext_dir_on_zlo, const bool v_ext_dir_on_zhi, amrex::Real &dthetadz, amrex::Real &dudz, amrex::Real &dvdz, const MoistureComponentIndices &moisture_indices) |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | ComputeQKESourceTerms (int i, int j, int k, const amrex::Array4< const amrex::Real > &uvel, const amrex::Array4< const amrex::Real > &vvel, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &cell_prim, const amrex::Array4< const amrex::Real > &K_turb, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Box &domain, amrex::Real pbl_mynn_B1_l, const amrex::Real theta_mean, const MoistureComponentIndices &moisture_indices, bool c_ext_dir_on_zlo, bool c_ext_dir_on_zhi, bool u_ext_dir_on_zlo, bool u_ext_dir_on_zhi, bool v_ext_dir_on_zlo, bool v_ext_dir_on_zhi, const amrex::Real met_h_zeta=1.0) |
| void ComputeDiffusivityMRF | ( | const amrex::MultiFab & | xvel, |
| const amrex::MultiFab & | yvel, | ||
| const amrex::MultiFab & | cons_in, | ||
| amrex::MultiFab & | eddyViscosity, | ||
| const amrex::Geometry & | geom, | ||
| const TurbChoice & | turbChoice, | ||
| std::unique_ptr< SurfaceLayer > & | SurfLayer, | ||
| bool | use_terrain_fitted_coords, | ||
| bool | use_moisture, | ||
| int | level, | ||
| const amrex::BCRec * | bc_ptr, | ||
| bool | , | ||
| const std::unique_ptr< amrex::MultiFab > & | z_phys_nd, | ||
| const MoistureComponentIndices & | moisture_indices | ||
| ) |
Compute eddy diffusivities of momentum (eddy viscosity) and heat using the older version of Yonsei University PBL scheme
| [in] | xvel | Velocity in x-dir |
| [in] | yvel | Velocity in y-dir |
| [in] | cons_in | Cell center conserved quantities |
| [out] | eddyViscosity | Holds turbulent viscosity |
| [in] | geom | Problem geometry |
| [in] | turbChoice | Container with turbulence parameters |
| [in] | SurfLayer | Pointer to Monin-Obukhov class if instantiated |
| [in] | use_moisture | If we have microphysics enabled |
| [in] | level | Current level |
| [in] | bc_ptr | Pointer to array with boundary condition info |
| [in] | vert_only | Only compute vertical eddy diffusivities |
| [in] | z_phys_nd | Physical location of grid nodes, if terrain (or grid stretching) is enabled |
| void ComputeDiffusivityMYJ | ( | amrex::Real | dt, |
| const amrex::MultiFab & | xvel, | ||
| const amrex::MultiFab & | yvel, | ||
| amrex::MultiFab & | cons_in, | ||
| amrex::MultiFab & | eddyViscosity, | ||
| const amrex::Geometry & | geom, | ||
| const TurbChoice & | turbChoice, | ||
| std::unique_ptr< SurfaceLayer > & | SurfLayer, | ||
| bool | use_terrain_fitted_coords, | ||
| bool | use_moisture, | ||
| int | level, | ||
| const amrex::BCRec * | bc_ptr, | ||
| bool | , | ||
| const std::unique_ptr< amrex::MultiFab > & | z_phys_nd, | ||
| const MoistureComponentIndices & | moisture_indices | ||
| ) |
Compute eddy diffusivities of momentum (eddy viscosity) and heat using the Mellor-Yamada-Janjic scheme (Janjic (2002), NCEP Office Note 437)
| [in] | xvel | Velocity in x-dir |
| [in] | yvel | Velocity in y-dir |
| [in] | cons_in | Cell center conserved quantities |
| [out] | eddyViscosity | Holds turbulent viscosity |
| [in] | geom | Problem geometry |
| [in] | turbChoice | Container with turbulence parameters |
| [in] | SurfLayer | Pointer to Monin-Obukhov class if instantiated |
| [in] | use_moisture | If we have microphysics enabled |
| [in] | level | Current level |
| [in] | bc_ptr | Pointer to array with boundary condition info |
| [in] | vert_only | Only compute vertical eddy diffusivities |
| [in] | z_phys_nd | Physical location of grid nodes, if terrain (or grid stretching) is enabled |
| void ComputeDiffusivityMYNN25 | ( | const amrex::MultiFab & | xvel, |
| const amrex::MultiFab & | yvel, | ||
| const amrex::MultiFab & | cons_in, | ||
| amrex::MultiFab & | eddyViscosity, | ||
| const amrex::Geometry & | geom, | ||
| const TurbChoice & | turbChoice, | ||
| std::unique_ptr< SurfaceLayer > & | SurfLayer, | ||
| bool | use_terrain_fitted_coords, | ||
| bool | use_moisture, | ||
| int | level, | ||
| const amrex::BCRec * | bc_ptr, | ||
| bool | , | ||
| const std::unique_ptr< amrex::MultiFab > & | z_phys_nd, | ||
| const MoistureComponentIndices & | moisture_indices | ||
| ) |
Compute eddy diffusivities of momentum (eddy viscosity) and heat using the Mellor-Yamada-Nakanishi-Niino Level 2.5 PBL scheme
| [in] | xvel | Velocity in x-dir |
| [in] | yvel | Velocity in y-dir |
| [in] | cons_in | Cell center conserved quantities |
| [out] | eddyViscosity | Holds turbulent viscosity |
| [in] | geom | Problem geometry |
| [in] | turbChoice | Container with turbulence parameters |
| [in] | SurfLayer | Pointer to Monin-Obukhov class if instantiated |
| [in] | use_moisture | If we have microphysics enabled |
| [in] | level | Current level |
| [in] | bc_ptr | Pointer to array with boundary condition info |
| [in] | vert_only | Only compute vertical eddy diffusivities |
| [in] | z_phys_nd | Physical location of grid nodes, if terrain (or grid stretching) is enabled |
| void ComputeDiffusivityMYNNEDMF | ( | const amrex::MultiFab & | xvel, |
| const amrex::MultiFab & | yvel, | ||
| const amrex::MultiFab & | cons_in, | ||
| amrex::MultiFab & | eddyViscosity, | ||
| const amrex::Geometry & | geom, | ||
| const TurbChoice & | turbChoice, | ||
| std::unique_ptr< SurfaceLayer > & | SurfLayer, | ||
| bool | use_terrain_fitted_coords, | ||
| bool | use_moisture, | ||
| int | level, | ||
| const amrex::BCRec * | bc_ptr, | ||
| bool | , | ||
| const std::unique_ptr< amrex::MultiFab > & | z_phys_nd, | ||
| const MoistureComponentIndices & | moisture_indices | ||
| ) |
Compute eddy diffusivities of momentum (eddy viscosity) and heat using the Mellor-Yamada-Nakanishi-Niino Level 2.5 PBL scheme
| [in] | xvel | Velocity in x-dir |
| [in] | yvel | Velocity in y-dir |
| [in] | cons_in | Cell center conserved quantities |
| [out] | eddyViscosity | Holds turbulent viscosity |
| [in] | geom | Problem geometry |
| [in] | turbChoice | Container with turbulence parameters |
| [in] | SurfLayer | Pointer to Monin-Obukhov class if instantiated |
| [in] | use_moisture | If we have microphysics enabled |
| [in] | level | Current level |
| [in] | bc_ptr | Pointer to array with boundary condition info |
| [in] | vert_only | Only compute vertical eddy diffusivities |
| [in] | z_phys_nd | Physical location of grid nodes, if terrain (or grid stretching) is enabled |
| void ComputeDiffusivityYSU | ( | const amrex::MultiFab & | xvel, |
| const amrex::MultiFab & | yvel, | ||
| const amrex::MultiFab & | cons_in, | ||
| amrex::MultiFab & | eddyViscosity, | ||
| const amrex::Geometry & | geom, | ||
| const TurbChoice & | turbChoice, | ||
| std::unique_ptr< SurfaceLayer > & | SurfLayer, | ||
| bool | use_terrain_fitted_coords, | ||
| bool | use_moisture, | ||
| int | level, | ||
| const amrex::BCRec * | bc_ptr, | ||
| bool | , | ||
| const std::unique_ptr< amrex::MultiFab > & | z_phys_nd, | ||
| const MoistureComponentIndices & | moisture_indices | ||
| ) |
Compute eddy diffusivities of momentum (eddy viscosity) and heat using the Yonsei University PBL scheme
| [in] | xvel | Velocity in x-dir |
| [in] | yvel | Velocity in y-dir |
| [in] | cons_in | Cell center conserved quantities |
| [out] | eddyViscosity | Holds turbulent viscosity |
| [in] | geom | Problem geometry |
| [in] | turbChoice | Container with turbulence parameters |
| [in] | SurfLayer | Pointer to Monin-Obukhov class if instantiated |
| [in] | use_moisture | If we have microphysics enabled |
| [in] | level | Current level |
| [in] | bc_ptr | Pointer to array with boundary condition info |
| [in] | vert_only | Only compute vertical eddy diffusivities |
| [in] | z_phys_nd | Physical location of grid nodes, if terrain (or grid stretching) is enabled |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real ComputeQKESourceTerms | ( | int | i, |
| int | j, | ||
| int | k, | ||
| const amrex::Array4< const amrex::Real > & | uvel, | ||
| const amrex::Array4< const amrex::Real > & | vvel, | ||
| const amrex::Array4< const amrex::Real > & | cell_data, | ||
| const amrex::Array4< const amrex::Real > & | cell_prim, | ||
| const amrex::Array4< const amrex::Real > & | K_turb, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | cellSizeInv, | ||
| const amrex::Box & | domain, | ||
| amrex::Real | pbl_mynn_B1_l, | ||
| const amrex::Real | theta_mean, | ||
| const MoistureComponentIndices & | moisture_indices, | ||
| bool | c_ext_dir_on_zlo, | ||
| bool | c_ext_dir_on_zhi, | ||
| bool | u_ext_dir_on_zlo, | ||
| bool | u_ext_dir_on_zhi, | ||
| bool | v_ext_dir_on_zlo, | ||
| bool | v_ext_dir_on_zhi, | ||
| const amrex::Real | met_h_zeta = 1.0 |
||
| ) |
Function for computing the QKE source terms (NN09, Eqn. 5).
| [in] | u | velocity in x-dir |
| [in] | v | velocity in y-dir |
| [in] | cell_data | conserved cell center vars |
| [in] | cell_prim | primitive cell center vars |
| [in] | K_turb | turbulent viscosity |
| [in] | cellSizeInv | inverse cell size array |
| [in] | domain | box of the whole domain |
| [in] | pbl_mynn_B1_l | a parameter |
| [in] | theta_mean | average theta |
Referenced by if().


| AMREX_GPU_DEVICE AMREX_FORCE_INLINE void ComputeVerticalDerivativesPBL | ( | int | i, |
| int | j, | ||
| int | k, | ||
| const amrex::Array4< const amrex::Real > & | uvel, | ||
| const amrex::Array4< const amrex::Real > & | vvel, | ||
| const amrex::Array4< const amrex::Real > & | cell_data, | ||
| const int | izmin, | ||
| const int | izmax, | ||
| const amrex::Real & | dz_inv, | ||
| const bool | c_ext_dir_on_zlo, | ||
| const bool | c_ext_dir_on_zhi, | ||
| const bool | u_ext_dir_on_zlo, | ||
| const bool | u_ext_dir_on_zhi, | ||
| const bool | v_ext_dir_on_zlo, | ||
| const bool | v_ext_dir_on_zhi, | ||
| amrex::Real & | dthetadz, | ||
| amrex::Real & | dudz, | ||
| amrex::Real & | dvdz, | ||
| const MoistureComponentIndices & | moisture_indices | ||
| ) |
Function for computing vertical derivatives for use in PBL model
| [in] | u | velocity in x-dir |
| [in] | v | velocity in y-dir |
| [in] | cell_data | conserved cell center vars |
Referenced by ComputeDiffusivityMRF(), ComputeDiffusivityMYJ(), ComputeDiffusivityMYNN25(), ComputeDiffusivityMYNNEDMF(), ComputeDiffusivityYSU(), and ComputeQKESourceTerms().

