1 #ifndef ERF_SHOCINTERFACE_H
2 #define ERF_SHOCINTERFACE_H
9 #include "physics/shoc/shoc_constants.hpp"
10 #include "physics/shoc/shoc_functions.hpp"
11 #include "share/util/eamxx_common_physics_functions.hpp"
13 #include "ekat_subview_utils.hpp"
14 #include "ekat_parameter_list.hpp"
15 #include "ekat_assert.hpp"
16 #include "ekat_team_policy_utils.hpp"
17 #include "ekat_reduction_utils.hpp"
24 #include <Kokkos_Core.hpp>
25 #include <AMReX_ParmParse.H>
26 #include <AMReX_MultiFabUtil.H>
37 using SHF = scream::shoc::Functions<Real, KokkosDefaultDevice>;
38 using PF = scream::PhysicsFunctions<KokkosDefaultDevice>;
39 using C = scream::physics::Constants<Real>;
40 using KT = ekat::KokkosTypes<KokkosDefaultDevice>;
41 using SC = scream::shoc::Constants<Real>;
43 using Spack =
typename SHF::Spack;
45 using Smask =
typename SHF::Smask;
47 using view_1d =
typename SHF::view_1d<Real>;
49 using view_2d =
typename SHF::view_2d<SHF::Spack>;
53 using view_3d =
typename SHF::view_3d<Spack>;
57 using WSM = ekat::WorkspaceManager<Spack, KT::Device>;
59 template<
typename ScalarT>
60 using uview_1d = ekat::Unmanaged<typename KT::template view_1d<ScalarT>>;
61 template<
typename ScalarT>
62 using uview_2d = ekat::Unmanaged<typename KT::template view_2d<ScalarT>>;
73 const amrex::BoxArray& ba,
74 amrex::Geometry& geom,
75 amrex::MultiFab*
cons,
76 amrex::MultiFab*
xvel,
77 amrex::MultiFab*
yvel,
78 amrex::MultiFab*
zvel,
80 amrex::MultiFab*
tau13,
81 amrex::MultiFab*
tau23,
82 amrex::MultiFab* hfx3,
83 amrex::MultiFab* qfx3,
84 amrex::MultiFab* eddyDiffs,
85 amrex::MultiFab* z_phys);
117 name ()
const {
return "shoc"; }
134 const amrex::Box& tbx,
135 const amrex::Array4<amrex::Real>& cc_rhs_arr);
137 #ifndef KOKKOS_ENABLE_CUDA
150 KOKKOS_INLINE_FUNCTION
151 void operator()(
const Kokkos::TeamPolicy<KT::ExeSpace>::member_type& team)
const
153 const int i = team.league_rank();
155 const Real zvir = C::ZVIR;
157 const Real ggr = C::gravit;
158 const Real inv_ggr = 1/ggr;
159 const Real mintke = SC::mintke;
161 const int nlev_packs = ekat::npack<Spack>(
nlev);
163 Kokkos::parallel_for(Kokkos::TeamVectorRange(team, nlev_packs), [&] (
const Int& k)
168 const Spack exner = PF::exner_function(
p_mid(i,k));
169 const Smask nonzero = (exner != 0);
170 EKAT_KERNEL_ASSERT((nonzero || !(ekat::range<IntSmallPack>(k*Spack::n) <
nlev)).all());
173 tke(i,k) = ekat::max(mintke,
tke(i,k));
184 qw(i,k) =
qv(i,k) +
qc(i,k);
188 const auto theta_zt = PF::calculate_theta_from_T(
T_mid(i,k),
p_mid(i,k));
189 thlm(i,k) = PF::calculate_thetal_from_theta(theta_zt,
T_mid(i,k),
qc(i,k));
190 thv(i,k) = theta_zt*(1 + zvir*
qv(i,k) -
qc(i,k));
202 const auto dz_s = ekat::subview(
dz, i);
203 const auto z_int_s = ekat::subview(
z_int, i);
204 const auto z_mid_s = ekat::subview(
z_mid, i);
205 PF::calculate_z_int(team,
nlev,dz_s,
z_surf,z_int_s);
207 PF::calculate_z_mid(team,
nlev,z_int_s,z_mid_s);
210 const int nlevi_v =
nlev/Spack::n;
211 const int nlevi_p =
nlev%Spack::n;
212 Kokkos::parallel_for(Kokkos::TeamVectorRange(team, nlev_packs), [&] (
const Int& k)
220 if (k+1 == nlev_packs)
zi_grid(i,nlevi_v)[nlevi_p] = 0;
224 const auto zt_grid_s = ekat::subview(
zt_grid, i);
225 const auto zi_grid_s = ekat::subview(
zi_grid, i);
226 const auto rrho_s = ekat::subview(
rrho, i);
227 const auto rrho_i_s = ekat::subview(
rrho_i, i);
228 SHF::linear_interp(team,zt_grid_s,zi_grid_s,rrho_s,rrho_i_s,
nlev,
nlev+1,0);
347 KOKKOS_INLINE_FUNCTION
348 void operator()(
const Kokkos::TeamPolicy<KT::ExeSpace>::member_type& team)
const
350 const int i = team.league_rank();
352 const Real inv_qc_relvar_max = 10;
353 const Real inv_qc_relvar_min = 0.001;
355 const int nlev_packs = ekat::npack<Spack>(
nlev);
356 Kokkos::parallel_for(Kokkos::TeamVectorRange(team, nlev_packs), [&] (
const Int& k)
362 qv(i,k) =
qw(i,k) -
qc(i,k);
369 const auto condition = (
qc(i,k) != 0 &&
qc2(i,k) != 0);
370 if (condition.any()) {
372 ekat::min(inv_qc_relvar_max,
373 ekat::max(inv_qc_relvar_min,
374 ekat::square(
qc(i,k))/
qc2(i,k))));
381 T_mid(i,k) = PF::calculate_temperature_from_dse(dse_ik,z_mid_ik,phis_i);
459 #ifndef SCREAM_SHOC_SMALL_KERNELS
465 #ifndef SCREAM_SHOC_SMALL_KERNELS
478 #ifdef SCREAM_SHOC_SMALL_KERNELS
525 #ifdef SCREAM_SHOC_SMALL_KERNELS
538 #ifndef KOKKOS_ENABLE_CUDA
608 amrex::MultiFab*
m_mu =
nullptr;
630 #ifdef SCREAM_SHOC_SMALL_KERNELS
631 SHF::SHOCTemporaries temporaries;
@ tau23
Definition: ERF_DataStruct.H:30
@ tau13
Definition: ERF_DataStruct.H:30
int Int
Definition: ERF_ShocInterface.H:20
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Definition: ERF_ShocInterface.H:36
view_2d p_int
Definition: ERF_ShocInterface.H:665
typename SHF::view_1d< const Real > view_1d_const
Definition: ERF_ShocInterface.H:48
bool check_flux_state
Definition: ERF_ShocInterface.H:648
SHOCPreprocess shoc_preprocess
Definition: ERF_ShocInterface.H:635
view_2d wqw_sec
Definition: ERF_ShocInterface.H:698
scream::shoc::Constants< Real > SC
Definition: ERF_ShocInterface.H:41
view_1d surf_drag_coeff_tms
Definition: ERF_ShocInterface.H:660
amrex::Geometry m_geom
Definition: ERF_ShocInterface.H:585
void set_computed_group_impl()
void alloc_buffers()
Definition: ERF_ShocInterface.cpp:191
view_2d thl_sec
Definition: ERF_ShocInterface.H:697
view_2d tkh
Definition: ERF_ShocInterface.H:682
view_2d cldfrac_liq
Definition: ERF_ShocInterface.H:674
typename KT::template view_2d< Real > sview_2d
Definition: ERF_ShocInterface.H:51
amrex::MultiFab * m_z_phys
Definition: ERF_ShocInterface.H:611
amrex::MultiFab * m_qfx3
Definition: ERF_ShocInterface.H:605
void init_buffers()
Definition: ERF_ShocInterface.cpp:777
Int m_num_layers
Definition: ERF_ShocInterface.H:571
view_2d vw_sec
Definition: ERF_ShocInterface.H:701
amrex::MultiFab * m_yvel
Definition: ERF_ShocInterface.H:595
view_1d ice_flux
Definition: ERF_ShocInterface.H:712
void set_diff_stresses()
Definition: ERF_ShocInterface.cpp:662
size_t requested_buffer_size_in_bytes() const
Definition: ERF_ShocInterface.cpp:751
view_2d shoc_cond
Definition: ERF_ShocInterface.H:693
view_2d brunt
Definition: ERF_ShocInterface.H:690
bool extra_shoc_diags
Definition: ERF_ShocInterface.H:649
view_1d heat_flux
Definition: ERF_ShocInterface.H:713
Int m_num_vel_comp
Definition: ERF_ShocInterface.H:575
bool apply_tms
Definition: ERF_ShocInterface.H:647
view_1d surf_sens_flux
Definition: ERF_ShocInterface.H:655
view_1d pblh
Definition: ERF_ShocInterface.H:680
amrex::MultiFab * m_zvel
Definition: ERF_ShocInterface.H:596
void set_grids(int &level, const amrex::BoxArray &ba, amrex::Geometry &geom, amrex::MultiFab *cons, amrex::MultiFab *xvel, amrex::MultiFab *yvel, amrex::MultiFab *zvel, amrex::Real *w_subsid, amrex::MultiFab *tau13, amrex::MultiFab *tau23, amrex::MultiFab *hfx3, amrex::MultiFab *qfx3, amrex::MultiFab *eddyDiffs, amrex::MultiFab *z_phys)
Definition: ERF_ShocInterface.cpp:114
Int m_num_cols
Definition: ERF_ShocInterface.H:570
view_2d sgs_buoy_flux
Definition: ERF_ShocInterface.H:672
SHF::SHOCOutput output
Definition: ERF_ShocInterface.H:627
typename KT::template view_1d< Int > view_1d_int
Definition: ERF_ShocInterface.H:46
ekat::WorkspaceManager< Spack, KT::Device > workspace_mgr
Definition: ERF_ShocInterface.H:639
view_2d p_mid
Definition: ERF_ShocInterface.H:664
void kokkos_buffers_to_mf(const Real dt)
Definition: ERF_ShocInterface.cpp:492
view_2d uw_sec
Definition: ERF_ShocInterface.H:700
Int m_nadv
Definition: ERF_ShocInterface.H:573
view_2d qc
Definition: ERF_ShocInterface.H:676
void run_impl(const Real dt)
Definition: ERF_ShocInterface.cpp:1012
amrex::MultiFab c_tend
Definition: ERF_ShocInterface.H:614
amrex::MultiFab * m_mu
Definition: ERF_ShocInterface.H:608
Int m_npbl
Definition: ERF_ShocInterface.H:572
amrex::MultiFab * m_tau23
Definition: ERF_ShocInterface.H:603
view_2d shoc_mix
Definition: ERF_ShocInterface.H:691
view_2d qw_sec
Definition: ERF_ShocInterface.H:699
view_2d cldfrac_liq_prev
Definition: ERF_ShocInterface.H:684
scream::physics::Constants< Real > C
Definition: ERF_ShocInterface.H:39
SHF::SHOCInput input
Definition: ERF_ShocInterface.H:625
SHOCInterface(const int &lev, SolverChoice &sc)
Definition: ERF_ShocInterface.cpp:6
view_2d omega
Definition: ERF_ShocInterface.H:654
typename SHF::view_2d< const Spack > view_2d_const
Definition: ERF_ShocInterface.H:50
ekat::Unmanaged< typename KT::template view_1d< ScalarT > > uview_1d
Definition: ERF_ShocInterface.H:60
typename SHF::Smask Smask
Definition: ERF_ShocInterface.H:45
typename SHF::view_3d_strided< Spack > view_3d_strided
Definition: ERF_ShocInterface.H:55
view_1d vapor_flux
Definition: ERF_ShocInterface.H:710
view_1d obklen
Definition: ERF_ShocInterface.H:686
scream::shoc::Functions< Real, KokkosDefaultDevice > SHF
Definition: ERF_ShocInterface.H:37
view_2d pseudo_dens
Definition: ERF_ShocInterface.H:666
SHF::SHOCRuntime runtime_options
Definition: ERF_ShocInterface.H:629
view_2d inv_qc_relvar
Definition: ERF_ShocInterface.H:681
view_1d surf_evap
Definition: ERF_ShocInterface.H:657
view_2d w_sec
Definition: ERF_ShocInterface.H:683
view_1d phis
Definition: ERF_ShocInterface.H:667
view_2d shoc_evap
Definition: ERF_ShocInterface.H:694
view_3d horiz_wind
Definition: ERF_ShocInterface.H:671
void check_flux_state_consistency(const double dt)
Definition: ERF_ShocInterface.cpp:1117
typename SHF::view_1d< Real > view_1d
Definition: ERF_ShocInterface.H:47
amrex::MultiFab * m_tau13
Definition: ERF_ShocInterface.H:602
amrex::MultiFab * m_cons
Definition: ERF_ShocInterface.H:591
view_3d_strided qtracers
Definition: ERF_ShocInterface.H:706
ekat::KokkosTypes< KokkosDefaultDevice > KT
Definition: ERF_ShocInterface.H:40
view_1d ustar
Definition: ERF_ShocInterface.H:685
scream::PhysicsFunctions< KokkosDefaultDevice > PF
Definition: ERF_ShocInterface.H:38
view_2d w3
Definition: ERF_ShocInterface.H:702
void initialize_impl()
Definition: ERF_ShocInterface.cpp:847
ekat::Unmanaged< typename KT::template view_2d< ScalarT > > uview_2d
Definition: ERF_ShocInterface.H:62
amrex::MultiFab * m_hfx3
Definition: ERF_ShocInterface.H:604
ekat::WorkspaceManager< Spack, KT::Device > WSM
Definition: ERF_ShocInterface.H:57
typename SHF::view_3d< const Spack > view_3d_const
Definition: ERF_ShocInterface.H:54
bool m_first_step
Definition: ERF_ShocInterface.H:619
void set_eddy_diffs()
Definition: ERF_ShocInterface.cpp:609
Int m_num_tracers
Definition: ERF_ShocInterface.H:574
std::string name() const
Definition: ERF_ShocInterface.H:117
int m_step
Definition: ERF_ShocInterface.H:582
sview_2d surf_mom_flux
Definition: ERF_ShocInterface.H:656
typename SHF::view_2d< SHF::Spack > view_2d
Definition: ERF_ShocInterface.H:49
int m_lev
Definition: ERF_ShocInterface.H:579
SHOCPostprocess shoc_postprocess
Definition: ERF_ShocInterface.H:636
typename SHF::Spack Spack
Definition: ERF_ShocInterface.H:43
SHF::SHOCInputOutput input_output
Definition: ERF_ShocInterface.H:626
Buffer m_buffer
Definition: ERF_ShocInterface.H:622
void mf_to_kokkos_buffers()
Definition: ERF_ShocInterface.cpp:340
view_2d tk
Definition: ERF_ShocInterface.H:673
view_2d qv
Definition: ERF_ShocInterface.H:659
view_2d wthl_sec
Definition: ERF_ShocInterface.H:696
amrex::BoxArray m_ba
Definition: ERF_ShocInterface.H:588
view_2d tke
Definition: ERF_ShocInterface.H:675
view_1d tot_buff_view
Definition: ERF_ShocInterface.H:643
amrex::MultiFab u_tend
Definition: ERF_ShocInterface.H:615
amrex::MultiFab v_tend
Definition: ERF_ShocInterface.H:616
view_1d water_flux
Definition: ERF_ShocInterface.H:711
view_2d T_mid
Definition: ERF_ShocInterface.H:658
void finalize_impl(const Real dt)
Definition: ERF_ShocInterface.cpp:1082
bool column_conservation_check
Definition: ERF_ShocInterface.H:650
void dealloc_buffers()
Definition: ERF_ShocInterface.cpp:266
void add_slow_tend(const amrex::MFIter &mfi, const amrex::Box &tbx, const amrex::Array4< amrex::Real > &cc_rhs_arr)
Definition: ERF_ShocInterface.cpp:729
Int hdtime
Definition: ERF_ShocInterface.H:576
void apply_turbulent_mountain_stress()
Definition: ERF_ShocInterface.cpp:1095
typename SHF::view_3d< Spack > view_3d
Definition: ERF_ShocInterface.H:53
view_2d isotropy
Definition: ERF_ShocInterface.H:692
typename SHF::IntSmallPack IntSmallPack
Definition: ERF_ShocInterface.H:44
amrex::Real * m_w_subsid
Definition: ERF_ShocInterface.H:599
amrex::MultiFab * m_xvel
Definition: ERF_ShocInterface.H:594
void add_fast_tend(amrex::Vector< amrex::MultiFab > &S_rhs)
Definition: ERF_ShocInterface.cpp:694
amrex::Vector< int > m_col_offsets
Definition: ERF_ShocInterface.H:566
SHF::SHOCHistoryOutput history_output
Definition: ERF_ShocInterface.H:628
typename KT::template view_2d< const Real > sview_2d_const
Definition: ERF_ShocInterface.H:52
@ tabs
Definition: ERF_Kessler.H:24
@ xvel
Definition: ERF_IndexDefines.H:141
@ cons
Definition: ERF_IndexDefines.H:140
@ zvel
Definition: ERF_IndexDefines.H:143
@ yvel
Definition: ERF_IndexDefines.H:142
Definition: ERF_ShocInterface.H:458
uview_2d< Spack > w3
Definition: ERF_ShocInterface.H:522
uview_2d< Spack > qc_copy
Definition: ERF_ShocInterface.H:509
uview_2d< Spack > dse
Definition: ERF_ShocInterface.H:507
uview_1d< Real > upwp_sfc
Definition: ERF_ShocInterface.H:476
uview_2d< Spack > vw_sec
Definition: ERF_ShocInterface.H:521
uview_1d< Real > wpthlp_sfc
Definition: ERF_ShocInterface.H:474
uview_2d< Spack > thv
Definition: ERF_ShocInterface.H:498
uview_2d< Spack > wqls_sec
Definition: ERF_ShocInterface.H:523
uview_2d< Spack > wthl_sec
Definition: ERF_ShocInterface.H:517
uview_2d< Spack > thlm
Definition: ERF_ShocInterface.H:505
uview_2d< Spack > uw_sec
Definition: ERF_ShocInterface.H:520
uview_2d< Spack > z_mid
Definition: ERF_ShocInterface.H:494
uview_1d< Real > vpwp_sfc
Definition: ERF_ShocInterface.H:477
uview_2d< Spack > rrho
Definition: ERF_ShocInterface.H:496
uview_2d< Spack > wtke_sec
Definition: ERF_ShocInterface.H:519
uview_2d< Spack > rrho_i
Definition: ERF_ShocInterface.H:497
uview_2d< Spack > unused
Definition: ERF_ShocInterface.H:493
Spack * wsm_data
Definition: ERF_ShocInterface.H:534
static constexpr int num_2d_vector_int
Definition: ERF_ShocInterface.H:467
uview_2d< Spack > wtracer_sfc
Definition: ERF_ShocInterface.H:502
static constexpr int num_2d_vector_tr
Definition: ERF_ShocInterface.H:472
static constexpr int num_1d_scalar_nlev
Definition: ERF_ShocInterface.H:464
uview_2d< Spack > inv_exner
Definition: ERF_ShocInterface.H:504
uview_2d< Spack > qwthl_sec
Definition: ERF_ShocInterface.H:516
uview_2d< Spack > qw
Definition: ERF_ShocInterface.H:506
uview_2d< Spack > brunt
Definition: ERF_ShocInterface.H:524
uview_2d< Spack > shoc_mix
Definition: ERF_ShocInterface.H:511
uview_2d< Spack > tke_copy
Definition: ERF_ShocInterface.H:508
static constexpr int num_1d_scalar_ncol
Definition: ERF_ShocInterface.H:460
uview_2d< Spack > isotropy
Definition: ERF_ShocInterface.H:512
uview_2d< Spack > zt_grid
Definition: ERF_ShocInterface.H:500
uview_2d< Spack > w_sec
Definition: ERF_ShocInterface.H:513
uview_2d< Spack > thl_sec
Definition: ERF_ShocInterface.H:514
uview_2d< Spack > wm_zt
Definition: ERF_ShocInterface.H:503
uview_2d< Spack > qw_sec
Definition: ERF_ShocInterface.H:515
uview_2d< Spack > wqw_sec
Definition: ERF_ShocInterface.H:518
uview_2d< Spack > z_int
Definition: ERF_ShocInterface.H:495
uview_2d< Spack > shoc_ql2
Definition: ERF_ShocInterface.H:510
uview_1d< Real > wprtp_sfc
Definition: ERF_ShocInterface.H:475
uview_2d< Spack > zi_grid
Definition: ERF_ShocInterface.H:501
static constexpr int num_2d_vector_mid
Definition: ERF_ShocInterface.H:466
uview_1d< Spack > pref_mid
Definition: ERF_ShocInterface.H:491
uview_2d< Spack > dz
Definition: ERF_ShocInterface.H:499
Definition: ERF_ShocInterface.H:344
view_1d_const surf_sens_flux
Definition: ERF_ShocInterface.H:409
view_1d ice_flux
Definition: ERF_ShocInterface.H:412
view_1d vapor_flux
Definition: ERF_ShocInterface.H:410
view_1d_const phis
Definition: ERF_ShocInterface.H:406
int nlev
Definition: ERF_ShocInterface.H:396
view_1d heat_flux
Definition: ERF_ShocInterface.H:413
view_2d cldfrac_liq
Definition: ERF_ShocInterface.H:402
view_2d_const rrho
Definition: ERF_ShocInterface.H:397
KOKKOS_INLINE_FUNCTION void operator()(const Kokkos::TeamPolicy< KT::ExeSpace >::member_type &team) const
Definition: ERF_ShocInterface.H:348
view_3d_strided qtracers
Definition: ERF_ShocInterface.H:400
void set_variables(const int ncol_, const int nlev_, const view_2d_const &rrho_, const view_2d &qv_, const view_2d_const &qw_, const view_2d &qc_, const view_2d_const &qc_copy_, const view_2d &tke_, const view_2d_const &tke_copy_, const view_3d_strided &qtracers_, const view_2d_const &qc2_, const view_2d &cldfrac_liq_, const view_2d &inv_qc_relvar_, const view_2d &T_mid_, const view_2d_const &dse_, const view_2d_const &z_mid_, const view_1d_const phis_)
Definition: ERF_ShocInterface.H:416
view_2d_const qw
Definition: ERF_ShocInterface.H:399
bool compute_mass_and_energy_fluxes
Definition: ERF_ShocInterface.H:407
view_1d water_flux
Definition: ERF_ShocInterface.H:411
view_1d_const surf_evap
Definition: ERF_ShocInterface.H:408
view_2d_const qc_copy
Definition: ERF_ShocInterface.H:399
view_2d_const z_mid
Definition: ERF_ShocInterface.H:405
view_2d_const dse
Definition: ERF_ShocInterface.H:405
view_2d tke
Definition: ERF_ShocInterface.H:398
view_2d T_mid
Definition: ERF_ShocInterface.H:404
view_2d inv_qc_relvar
Definition: ERF_ShocInterface.H:403
view_2d qc
Definition: ERF_ShocInterface.H:398
void set_mass_and_energy_fluxes(const view_1d_const &surf_evap_, const view_1d_const &surf_sens_flux_, const view_1d &vapor_flux_, const view_1d &water_flux_, const view_1d &ice_flux_, const view_1d &heat_flux_)
Definition: ERF_ShocInterface.H:442
view_2d qv
Definition: ERF_ShocInterface.H:398
SHOCPostprocess()=default
int ncol
Definition: ERF_ShocInterface.H:396
view_2d_const qc2
Definition: ERF_ShocInterface.H:401
view_2d_const tke_copy
Definition: ERF_ShocInterface.H:399
Definition: ERF_ShocInterface.H:147
int ncol
Definition: ERF_ShocInterface.H:241
view_3d_strided qtracers
Definition: ERF_ShocInterface.H:252
int nlev
Definition: ERF_ShocInterface.H:241
view_2d cldfrac_liq_prev
Definition: ERF_ShocInterface.H:278
view_2d rrho
Definition: ERF_ShocInterface.H:261
view_2d_const pseudo_density
Definition: ERF_ShocInterface.H:246
sview_2d_const surf_mom_flux
Definition: ERF_ShocInterface.H:251
view_2d_const qc
Definition: ERF_ShocInterface.H:254
view_2d thlm
Definition: ERF_ShocInterface.H:274
view_1d_const phis
Definition: ERF_ShocInterface.H:248
view_1d_const surf_evap
Definition: ERF_ShocInterface.H:250
view_2d zt_grid
Definition: ERF_ShocInterface.H:265
view_2d cldfrac_liq
Definition: ERF_ShocInterface.H:277
view_2d inv_exner
Definition: ERF_ShocInterface.H:273
view_1d_const surf_sens_flux
Definition: ERF_ShocInterface.H:249
view_2d wm_zt
Definition: ERF_ShocInterface.H:272
KOKKOS_INLINE_FUNCTION void operator()(const Kokkos::TeamPolicy< KT::ExeSpace >::member_type &team) const
Definition: ERF_ShocInterface.H:151
view_2d qc_copy
Definition: ERF_ShocInterface.H:255
view_2d wtracer_sfc
Definition: ERF_ShocInterface.H:271
view_2d z_mid
Definition: ERF_ShocInterface.H:256
view_2d rrho_i
Definition: ERF_ShocInterface.H:262
view_2d_const omega
Definition: ERF_ShocInterface.H:247
view_2d_const T_mid
Definition: ERF_ShocInterface.H:243
view_2d cloud_frac
Definition: ERF_ShocInterface.H:276
Real z_surf
Definition: ERF_ShocInterface.H:242
view_2d_const p_int
Definition: ERF_ShocInterface.H:245
view_2d tke
Definition: ERF_ShocInterface.H:259
view_1d wprtp_sfc
Definition: ERF_ShocInterface.H:268
view_2d qw
Definition: ERF_ShocInterface.H:275
view_1d upwp_sfc
Definition: ERF_ShocInterface.H:269
view_1d wpthlp_sfc
Definition: ERF_ShocInterface.H:267
view_2d z_int
Definition: ERF_ShocInterface.H:257
view_2d_const p_mid
Definition: ERF_ShocInterface.H:244
view_1d vpwp_sfc
Definition: ERF_ShocInterface.H:270
view_2d dz
Definition: ERF_ShocInterface.H:264
view_2d shoc_s
Definition: ERF_ShocInterface.H:258
view_2d tke_copy
Definition: ERF_ShocInterface.H:260
view_2d zi_grid
Definition: ERF_ShocInterface.H:266
view_2d qv
Definition: ERF_ShocInterface.H:253
view_2d thv
Definition: ERF_ShocInterface.H:263
void set_variables(const int ncol_, const int nlev_, const Real z_surf_, const view_2d_const &T_mid_, const view_2d_const &p_mid_, const view_2d_const &p_int_, const view_2d_const &pseudo_density_, const view_2d_const &omega_, const view_1d_const &phis_, const view_1d_const &surf_sens_flux_, const view_1d_const &surf_evap_, const sview_2d_const &surf_mom_flux_, const view_3d_strided &qtracers_, const view_2d &qv_, const view_2d_const &qc_, const view_2d &qc_copy_, const view_2d &tke_, const view_2d &tke_copy_, const view_2d &z_mid_, const view_2d &z_int_, const view_2d &dse_, const view_2d &rrho_, const view_2d &rrho_i_, const view_2d &thv_, const view_2d &dz_, const view_2d &zt_grid_, const view_2d &zi_grid_, const view_1d &wpthlp_sfc_, const view_1d &wprtp_sfc_, const view_1d &upwp_sfc_, const view_1d &vpwp_sfc_, const view_2d &wtracer_sfc_, const view_2d &wm_zt_, const view_2d &inv_exner_, const view_2d &thlm_, const view_2d &qw_, const view_2d &cldfrac_liq_, const view_2d &cldfrac_liq_prev_)
Definition: ERF_ShocInterface.H:281
Definition: ERF_DataStruct.H:123