|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
#include <ERF_ObsNudging.H>

Public Member Functions | |
| ObsNudging (TerrainType terrain_type, ProblemBase *prob, bool use_datetime, double start_time) | |
| bool | wants_latlon () const |
| void | resolve_positions (const amrex::Geometry &geom0, const LatLonMap *latlon) |
| void | print_summary () const |
| void | prepare_level (int lev, const amrex::Geometry &geom, const amrex::MultiFab &cons, const amrex::MultiFab *z_phys_nd, double time) |
| void | add_theta_source (int lev, double time, amrex::Real dt, const amrex::Geometry &geom, const amrex::MultiFab &cons, amrex::MultiFab &cc_src, const amrex::MultiFab *z_phys_nd, const amrex::MultiFab *blank) |
| void | add_momentum_sources (int lev, double time, amrex::Real dt, const amrex::Geometry &geom, const amrex::MultiFab &cons, const amrex::MultiFab &xvel, const amrex::MultiFab &yvel, const amrex::MultiFab &zvel, amrex::MultiFab &xmom_src, amrex::MultiFab &ymom_src, amrex::MultiFab &zmom_src, const amrex::MultiFab *z_phys_nd, const amrex::MultiFab *blank_x, const amrex::MultiFab *blank_y, const amrex::MultiFab *blank_z) |
Private Member Functions | |
| void | update_targets (double time) |
| const amrex::MultiFab & | surface (int lev, const amrex::Geometry &geom, const amrex::MultiFab &cons, const amrex::MultiFab *z_phys_nd, double time) |
| obs_nudging::ObsNudgingView | view (amrex::Real dt, const amrex::Geometry &geom) const |
Private Attributes | |
| amrex::Vector< ObsNudgingStation > | m_stations |
| TerrainType | m_terrain_type = TerrainType::None |
| ProblemBase * | m_prob = nullptr |
| amrex::Real | m_tau = amrex::Real(-1.0) |
| amrex::Real | m_horizontal_radius = amrex::Real(500.0) |
| amrex::Real | m_vertical_radius = amrex::Real(25.0) |
| amrex::Real | m_cutoff = amrex::Real(6.0) |
| amrex::Real | m_sigma_factor = amrex::Real(1.0) |
| amrex::Real | m_missing_value = amrex::Real(-9999.0) |
| bool | m_nudge_wind = true |
| bool | m_nudge_w = true |
| bool | m_nudge_theta = true |
| double | m_time_origin = 0.0 |
| bool | m_have_targets = false |
| double | m_targets_time = 0.0 |
| amrex::Gpu::DeviceVector< amrex::Real > | m_d_x |
| amrex::Gpu::DeviceVector< amrex::Real > | m_d_y |
| amrex::Gpu::DeviceVector< amrex::Real > | m_d_z |
| amrex::Gpu::DeviceVector< amrex::Real > | m_d_mean |
| amrex::Gpu::DeviceVector< amrex::Real > | m_d_sigma |
| amrex::Gpu::DeviceVector< int > | m_d_agl |
| amrex::Gpu::DeviceVector< int > | m_d_offset |
| amrex::Gpu::DeviceVector< int > | m_d_count |
| amrex::Vector< std::unique_ptr< amrex::MultiFab > > | m_zsurf |
| amrex::Vector< amrex::BoxArray > | m_zsurf_ba |
| amrex::Vector< amrex::DistributionMapping > | m_zsurf_dm |
| amrex::Vector< double > | m_zsurf_time |
| ObsNudging::ObsNudging | ( | TerrainType | terrain_type, |
| ProblemBase * | prob, | ||
| bool | use_datetime, | ||
| double | start_time | ||
| ) |

| void ObsNudging::add_momentum_sources | ( | int | lev, |
| double | time, | ||
| amrex::Real | dt, | ||
| const amrex::Geometry & | geom, | ||
| const amrex::MultiFab & | cons, | ||
| const amrex::MultiFab & | xvel, | ||
| const amrex::MultiFab & | yvel, | ||
| const amrex::MultiFab & | zvel, | ||
| amrex::MultiFab & | xmom_src, | ||
| amrex::MultiFab & | ymom_src, | ||
| amrex::MultiFab & | zmom_src, | ||
| const amrex::MultiFab * | z_phys_nd, | ||
| const amrex::MultiFab * | blank_x, | ||
| const amrex::MultiFab * | blank_y, | ||
| const amrex::MultiFab * | blank_z | ||
| ) |

| void ObsNudging::add_theta_source | ( | int | lev, |
| double | time, | ||
| amrex::Real | dt, | ||
| const amrex::Geometry & | geom, | ||
| const amrex::MultiFab & | cons, | ||
| amrex::MultiFab & | cc_src, | ||
| const amrex::MultiFab * | z_phys_nd, | ||
| const amrex::MultiFab * | blank | ||
| ) |

| void ObsNudging::prepare_level | ( | int | lev, |
| const amrex::Geometry & | geom, | ||
| const amrex::MultiFab & | cons, | ||
| const amrex::MultiFab * | z_phys_nd, | ||
| double | time | ||
| ) |
| void ObsNudging::print_summary | ( | ) | const |
| void ObsNudging::resolve_positions | ( | const amrex::Geometry & | geom0, |
| const LatLonMap * | latlon | ||
| ) |

|
private |
Referenced by add_momentum_sources(), add_theta_source(), and prepare_level().


|
private |
Referenced by add_momentum_sources(), and add_theta_source().


|
private |
Referenced by add_momentum_sources(), and add_theta_source().


| bool ObsNudging::wants_latlon | ( | ) | const |
|
private |
Referenced by ObsNudging(), print_summary(), and view().
|
private |
Referenced by ObsNudging(), update_targets(), and view().
|
private |
Referenced by ObsNudging(), update_targets(), and view().
|
private |
Referenced by update_targets(), and view().
|
private |
Referenced by ObsNudging(), update_targets(), and view().
|
private |
Referenced by update_targets(), and view().
|
private |
Referenced by ObsNudging(), update_targets(), and view().
|
private |
Referenced by ObsNudging(), update_targets(), and view().
|
private |
Referenced by update_targets(), and view().
|
private |
Referenced by update_targets(), and view().
|
private |
Referenced by ObsNudging(), print_summary(), and view().
|
private |
Referenced by ObsNudging().
|
private |
Referenced by add_theta_source(), ObsNudging(), print_summary(), and update_targets().
|
private |
Referenced by add_momentum_sources(), ObsNudging(), print_summary(), and update_targets().
|
private |
Referenced by add_momentum_sources(), ObsNudging(), print_summary(), and update_targets().
|
private |
Referenced by surface().
|
private |
Referenced by ObsNudging(), print_summary(), and view().
|
private |
Referenced by ObsNudging(), print_summary(), resolve_positions(), update_targets(), view(), and wants_latlon().
|
private |
Referenced by update_targets().
|
private |
Referenced by ObsNudging(), print_summary(), and view().
|
private |
Referenced by surface().
|
private |
Referenced by ObsNudging(), and update_targets().
|
private |
Referenced by ObsNudging(), print_summary(), and view().
|
private |
Referenced by surface().
|
private |
Referenced by surface().
|
private |
Referenced by surface().
|
private |
Referenced by surface().