1 #ifndef ERF_INTEGRATION_H_
2 #define ERF_INTEGRATION_H_
4 #include <AMReX_MultiFab.H>
5 #include <AMReX_EBMultiFabUtil.H>
19 const amrex::Vector<amrex::MultiFab>& S_data,
20 const amrex::MultiFab & S_prim,
21 const amrex::MultiFab &
qt,
22 amrex::MultiFab& buoyancy,
23 const amrex::Geometry geom,
25 const amrex::MultiFab& base_state,
32 const amrex::Geometry& geom,
33 amrex::Vector<amrex::MultiFab>& S_data,
34 const amrex::MultiFab&
p0,
35 const amrex::MultiFab& z_phys_nd,
36 const amrex::MultiFab& z_phys_cc,
37 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
39 amrex::Vector<amrex::MultiFab>& gradp);
42 const amrex::Geometry& geom,
43 const amrex::MultiFab& z_phys_nd,
44 const amrex::MultiFab& z_phys_cc,
45 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
47 amrex::Vector<amrex::MultiFab>& gradp,
51 const amrex::Geometry& geom,
52 const amrex::MultiFab& z_phys_cc,
53 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
55 amrex::Vector<amrex::MultiFab>& gradp,
59 const amrex::Geometry& geom,
60 const amrex::MultiFab& z_phys_nd,
62 amrex::Vector<amrex::MultiFab>& gradp,
66 const amrex::Geometry& geom,
67 const amrex::MultiFab& z_phys_nd,
68 const amrex::MultiFab& z_phys_cc,
69 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
70 amrex::Vector<amrex::MultiFab>& gradp,
75 const amrex::Vector<amrex::MultiFab>& S_data,
76 const amrex::MultiFab& S_prim,
77 amrex::MultiFab& cc_source,
78 const amrex::MultiFab& base_state,
79 const amrex::MultiFab* z_phys_cc,
80 const amrex::MultiFab&
xvel,
81 const amrex::MultiFab&
yvel,
82 const amrex::MultiFab* qheating_rates,
83 amrex::MultiFab* terrain_blank,
84 const amrex::Geometry geom,
86 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
87 const amrex::MultiFab* rhotheta_src,
88 const amrex::MultiFab* rhoqt_src,
90 const amrex::Vector<amrex::Real*> d_rayleigh_ptrs_at_lev,
92 const amrex::MultiFab* surface_state_at_lev,
99 const amrex::Vector<amrex::MultiFab>& S_data,
100 const amrex::MultiFab* z_phys_nd,
101 const amrex::MultiFab* z_phys_cc,
102 amrex::Vector<amrex::Real>& stretched_dz_h,
103 const amrex::MultiFab&
xvel,
104 const amrex::MultiFab&
yvel,
105 const amrex::MultiFab&
zvel,
106 amrex::MultiFab& xmom_source,
107 amrex::MultiFab& ymom_source,
108 amrex::MultiFab& zmom_source,
109 const amrex::MultiFab& base_state,
110 amrex::MultiFab* forest_drag,
111 amrex::MultiFab* terrain_blank,
112 amrex::MultiFab* cosPhi_mf,
113 amrex::MultiFab* sinPhi_mf,
114 const amrex::Geometry geom,
116 amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mapfac,
120 const amrex::Vector<amrex::Real*> d_rayleigh_ptrs_at_lev,
123 const amrex::Vector<amrex::Real*> d_sponge_ptrs_at_lev,
124 const amrex::Vector<amrex::MultiFab>* forecast_state_at_lev,
125 const amrex::MultiFab* surface_state_at_lev,
131 amrex::MultiFab& ymom_source,
132 amrex::MultiFab& zmom_source,
133 std::unique_ptr<amrex::iMultiFab>& xflux_imask_lev,
134 std::unique_ptr<amrex::iMultiFab>& yflux_imask_lev,
135 std::unique_ptr<amrex::iMultiFab>& zflux_imask_lev,
136 std::unique_ptr<amrex::MultiFab>& thin_xforce_lev,
137 std::unique_ptr<amrex::MultiFab>& thin_yforce_lev,
138 std::unique_ptr<amrex::MultiFab>& thin_zforce_lev);
140 #if defined(ERF_USE_NETCDF)
142 moist_set_rhs (
const amrex::Geometry& geom,
143 const amrex::Box& tbx,
144 const amrex::Array4<amrex::Real const>& new_cons,
145 const amrex::Array4<amrex::Real >& cell_rhs,
153 const amrex::Box& domain,
154 amrex::Vector<amrex::Vector<amrex::FArrayBox>>& bdy_data_xlo,
155 amrex::Vector<amrex::Vector<amrex::FArrayBox>>& bdy_data_xhi,
156 amrex::Vector<amrex::Vector<amrex::FArrayBox>>& bdy_data_ylo,
157 amrex::Vector<amrex::Vector<amrex::FArrayBox>>& bdy_data_yhi,
158 std::unique_ptr<ReadBndryPlanes>& m_r2d);
162 const amrex::Geometry geom,
163 const amrex::Box& bx,
164 const amrex::Array4<amrex::Real>& cell_rhs,
165 const amrex::Array4<const amrex::Real>& cell_data,
166 const amrex::Array4<const amrex::Real>&
r0,
167 const amrex::Array4<const amrex::Real>& th0,
168 const amrex::Array4<const amrex::Real>& qv0,
169 const amrex::Array4<const amrex::Real>& z_phys_cc,
173 const amrex::Geometry geom,
174 const amrex::Box& tbx,
175 const amrex::Box& tby,
176 const amrex::Box& tbz,
177 const amrex::Array4<amrex::Real>& rho_u_rhs,
178 const amrex::Array4<amrex::Real>& rho_v_rhs,
179 const amrex::Array4<amrex::Real>& rho_w_rhs,
180 const amrex::Array4<const amrex::Real>& rho_u,
181 const amrex::Array4<const amrex::Real>& rho_v,
182 const amrex::Array4<const amrex::Real>& rho_w,
183 const amrex::Array4<const amrex::Real>&
r0,
184 const amrex::Array4<const amrex::Real>& z_phys_nd,
185 const amrex::Array4<const amrex::Real>& z_phys_cc);
188 const amrex::Geometry geom,
189 const amrex::Box& tbx,
190 const amrex::Box& tby,
191 const amrex::Array4<const amrex::Real>& cell_data,
192 const amrex::Array4<const amrex::Real>& z_phys_cc,
193 const amrex::Array4<amrex::Real>& rho_u_rhs,
194 const amrex::Array4<amrex::Real>& rho_v_rhs,
195 const amrex::Array4<const amrex::Real>& rho_u,
196 const amrex::Array4<const amrex::Real>& rho_v,
197 const amrex::Vector<amrex::Real*> d_sponge_ptrs_at_lev);
200 const amrex::Geometry geom,
201 const amrex::Box& tbx,
202 const amrex::Box& tby,
203 const amrex::Box& tbz,
204 const amrex::Array4<const amrex::Real>& z_phys_nd,
205 const amrex::Array4<amrex::Real>& rho_u_rhs,
206 const amrex::Array4<amrex::Real>& rho_v_rhs,
207 const amrex::Array4<amrex::Real>& rho_w_rhs,
208 const amrex::Array4<const amrex::Real>& rho_u,
209 const amrex::Array4<const amrex::Real>& rho_v,
210 const amrex::Array4<const amrex::Real>& rho_w,
211 const amrex::Array4<const amrex::Real>& rho_u_initial_state,
212 const amrex::Array4<const amrex::Real>& rho_v_initial_state,
213 const amrex::Array4<const amrex::Real>& rho_w_initial_state,
214 const amrex::Array4<const amrex::Real>& cons_initial_state);
218 const amrex::Box& tby,
219 const amrex::Array4<amrex::Real>& rho_u_rhs,
220 const amrex::Array4<amrex::Real>& rho_v_rhs,
221 const amrex::Array4<const amrex::Real>& rho_u,
222 const amrex::Array4<const amrex::Real>& rho_v,
223 const amrex::Array4<const amrex::Real>& cons_state,
224 const amrex::Array4<const amrex::Real>& z_phys_nd,
225 const amrex::Array4<const amrex::Real>& surface_state_arr);
229 const amrex::Array4<amrex::Real>& cell_rhs,
230 const amrex::Array4<const amrex::Real>& cons_state,
231 const amrex::Array4<const amrex::Real>& z_phys_cc,
232 const amrex::Array4<const amrex::Real>& surface_state_arr);
amrex::Real Real
Definition: ERF_ShocInterface.H:19
@ qt
Definition: ERF_Kessler.H:28
@ xvel
Definition: ERF_IndexDefines.H:175
@ zvel
Definition: ERF_IndexDefines.H:177
@ yvel
Definition: ERF_IndexDefines.H:176
@ p
Definition: ERF_WSM6.H:176
real(c_double), parameter p0
Definition: ERF_module_model_constants.F90:40
real(kind=kind_phys), parameter, private r0
Definition: ERF_module_mp_wsm6.F90:21
Definition: ERF_DataStruct.H:141
Definition: ERF_SpongeStruct.H:19
Definition: ERF_TurbPertStruct.H:22