ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_TerrainDrag.H
Go to the documentation of this file.
1 #ifndef ERF_TERRAINDRAG_H_
2 #define ERF_TERRAINDRAG_H_
3 
4 #include <memory>
5 #include <AMReX_MultiFab.H>
6 
7 /*
8  Adapted from: https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2020MS002141
9  */
11 {
12 public:
13 
14  explicit TerrainDrag (std::string terrainfile);
15 
16  ~TerrainDrag () = default;
17 
18  void
19  define_terrain_blank_field (const amrex::BoxArray& ba,
20  const amrex::DistributionMapping& dm,
21  amrex::Geometry& geom,
22  amrex::MultiFab* z_phys_nd);
23 
24  amrex::MultiFab*
26 
27 private:
28  amrex::Vector<amrex::Real> m_x_terrain;
29  amrex::Vector<amrex::Real> m_y_terrain;
30  amrex::Vector<amrex::Real> m_height_terrain;
31  std::unique_ptr<amrex::MultiFab> m_terrain_blank;
32 };
33 #endif
Definition: ERF_TerrainDrag.H:11
amrex::Vector< amrex::Real > m_height_terrain
Definition: ERF_TerrainDrag.H:30
~TerrainDrag()=default
void define_terrain_blank_field(const amrex::BoxArray &ba, const amrex::DistributionMapping &dm, amrex::Geometry &geom, amrex::MultiFab *z_phys_nd)
Definition: ERF_TerrainDrag.cpp:26
TerrainDrag(std::string terrainfile)
Definition: ERF_TerrainDrag.cpp:9
amrex::MultiFab * get_terrain_blank_field()
Definition: ERF_TerrainDrag.H:25
amrex::Vector< amrex::Real > m_y_terrain
Definition: ERF_TerrainDrag.H:29
std::unique_ptr< amrex::MultiFab > m_terrain_blank
Definition: ERF_TerrainDrag.H:31
amrex::Vector< amrex::Real > m_x_terrain
Definition: ERF_TerrainDrag.H:28