ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_InitCustomPert_ParticleTests.H File Reference

Go to the source code of this file.

Functions

ParmParse pp ("prob")
 
pp query ("x_c", x_c)
 
pp query ("z_c", z_c)
 
pp query ("x_r", x_r)
 
pp query ("z_r", z_r)
 
pp query ("T_pert", T_pert)
 
 AMREX_ALWAYS_ASSERT (bx.length()[2]==khi+1)
 
 ParallelFor (bx, [=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const auto prob_lo=geomdata.ProbLo();const auto dx=geomdata.CellSize();const Real x=prob_lo[0]+(i+0.5) *dx[0];const Real z=z_cc(i, j, k);const Real Tbar_hse=p_hse(i, j, k)/(R_d *r_hse(i, j, k));Real L=std::sqrt(std::pow((x - x_c)/x_r, 2)+std::pow((z - z_c)/z_r, 2));if(L<=1.0) { Real dT=T_pert *(std::cos(PI *L)+1.0)/2.0;Real theta_perturbed=(Tbar_hse+dT) *std::pow(p_0/p_hse(i, j, k), R_d/C_p);state_pert(i, j, k, Rho_comp)=getRhoThetagivenP(p_hse(i, j, k))/theta_perturbed - r_hse(i, j, k);} })
 

Variables

Real x_c = 0.0
 
Real z_c = 3000.0
 
Real x_r = 4000.0
 
Real z_r = 2000.0
 
Real T_pert = -15.0
 
Real C_p = 1004.0
 
const int khi = geomdata.Domain().bigEnd()[2]
 

Function Documentation

◆ AMREX_ALWAYS_ASSERT()

AMREX_ALWAYS_ASSERT ( bx.  length()[2] = =khi+1)

Referenced by EWP::advance(), Fitch::advance(), GeneralAD::advance(), SimpleAD::advance(), MRISplitIntegrator< T >::advance(), AdvectionSrcForMom(), AdvectionSrcForMom_ConstantDz(), AdvectionSrcForMom_EB(), AdvectionSrcForMom_StretchedDz(), AdvectionSrcForMom_TF(), AdvectionSrcForOpenBC_Tangent_Cons(), AdvectionSrcForOpenBC_Tangent_Xmom(), AdvectionSrcForOpenBC_Tangent_Ymom(), AdvectionSrcForOpenBC_Tangent_Zmom(), ApplyBndryForcing_Forecast(), ApplySpongeZoneBCsForCC(), ApplySpongeZoneBCsForMom(), ApplySpongeZoneBCsForMom_ReadFromFile(), polygon_::area(), ERF::AverageDown(), ERF::AverageDownTo(), ERFFillPatcher::BuildMask(), closest_index(), compute_source_terms_Fn_Ft(), ComputeDiffusivityMRF(), ComputeDiffusivityMYJ(), ComputeDiffusivityMYNN25(), ComputeDiffusivityMYNNEDMF(), ComputeDiffusivityYSU(), ComputeTurbulentViscosity(), polygon_::define(), ERFFillPatcher::Define(), eb_aux_::define(), ForestDrag::define_drag_field(), polygon_::distance(), derived::erf_derenstrophysq(), derived::erf_dermagvel(), derived::erf_dermagvelsq(), derived::erf_dermoisttemp(), derived::erf_dersoundspeed(), derived::erf_dertemp(), derived::erf_dervortx(), derived::erf_dervorty(), derived::erf_dervortz(), erf_dtesati(), erf_esati(), erf_make_tau_terms(), erf_slow_rhs_post(), erf_slow_rhs_pre(), erf_substep_NS(), ERFFillPatcher::ERFFillPatcher(), ERF::ErrorEst(), expand_and_interpolate_1d(), ERFFillPatcher::Fill(), ERF::fill_from_bndryregs(), SurfaceLayer::fill_tsurf_with_sst_and_tsk(), ERF::FillIntermediatePatch(), ERF::FillPatchCrseLevel(), ERF::FillPatchFineLevel(), LineSampler::get_sample_data(), SDInitProperties::getDistribution(), SAM::IceFall(), ERFPhysBCFunct_w::impose_vertical_zvel_bcs(), ERF::init_bcs(), init_bx_scalars_from_input_sounding_hse(), ERF::init_Dirichlet_bc_data(), ERF::init_geo_wind_profile(), SolverChoice::init_params(), TurbulentPerturbation::init_tpi_type(), init_zlevels(), ERF::InitData_post(), ERF::initHSE(), ReadBndryPlanes::interp_in_time(), intersect_plane_edge(), PlaneAverage::line_average(), PlaneAverage::line_average_interpolated(), LineSampler::LineSampler(), MM5::Lsm_Data_Ptr(), NOAHMP::Lsm_Data_Ptr(), SLM::Lsm_Data_Ptr(), MM5::Lsm_DataName(), NOAHMP::Lsm_DataName(), SLM::Lsm_DataName(), MM5::Lsm_Flux_Ptr(), NOAHMP::Lsm_Flux_Ptr(), SLM::Lsm_Flux_Ptr(), NOAHMP::Lsm_FluxName(), make_buoyancy(), ERF::make_physbcs(), make_sources(), SurfaceLayer::make_SurfaceLayer_at_level(), ERF::MakeNewLevelFromCoarse(), ERF::MakeNewLevelFromScratch(), HSEutils::Newton_Raphson_hse(), ERF::ParameterSanityChecks(), PlaneAverage::PlaneAverage(), PlaneSampler::PlaneSampler(), SAM::PrecipFall(), SDInitProperties::printParameters(), ERF::project_momenta(), ERF::project_velocity_tb(), Kessler::Qmoist_Ptr(), Morrison::Qmoist_Ptr(), SAM::Qmoist_Ptr(), SatAdj::Qmoist_Ptr(), SurfaceLayer::read_custom_roughness(), ProblemBase::read_custom_terrain(), InputSpongeData::read_from_file(), InputSoundingData::read_from_file(), ReadBndryPlanes::read_input_files(), SolverChoice::read_int_string(), ReadNetCDFFile(), ERF::ReadParameters(), ReadTimeSliceFromNetCDFFile(), realbdy_compute_interior_ghost_rhs(), realbdy_interior_bxs_xy(), ERF::refinement_criteria_setup(), ERFFillPatcher::RegisterCoarseData(), ERF::RemakeLevel(), MOSTAverage::set_k_indices_N(), InputSpongeData::size(), InputSoundingData::size(), ERF::sum_derived_quantities(), ERF::sum_energy_quantities(), ERF::Write3DPlotFile(), ERF::WriteGenericPlotfileHeaderWithTerrain(), and ERF::WriteMultiLevelPlotfileWithTerrain().

◆ ParallelFor()

ParallelFor ( bx  ,
[=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept { const auto prob_lo=geomdata.ProbLo();const auto dx=geomdata.CellSize();const Real x=prob_lo[0]+(i+0.5) *dx[0];const Real z=z_cc(i, j, k);const Real Tbar_hse=p_hse(i, j, k)/(R_d *r_hse(i, j, k));Real L=std::sqrt(std::pow((x - x_c)/x_r, 2)+std::pow((z - z_c)/z_r, 2));if(L<=1.0) { Real dT=T_pert *(std::cos(PI *L)+1.0)/2.0;Real theta_perturbed=(Tbar_hse+dT) *std::pow(p_0/p_hse(i, j, k), R_d/C_p);state_pert(i, j, k, Rho_comp)=getRhoThetagivenP(p_hse(i, j, k))/theta_perturbed - r_hse(i, j, k);} }   
)
Here is the call graph for this function:

◆ pp()

ParmParse pp ( "prob"  )

◆ query() [1/5]

pp query ( "T_pert"  ,
T_pert   
)

◆ query() [2/5]

pp query ( "x_c"  ,
x_c   
)

◆ query() [3/5]

pp query ( "x_r"  ,
x_r   
)

◆ query() [4/5]

pp query ( "z_c"  ,
z_c   
)

◆ query() [5/5]

pp query ( "z_r"  ,
z_r   
)

Variable Documentation

◆ C_p

Real C_p = 1004.0

Referenced by ParallelFor().

◆ khi

◆ T_pert

Real T_pert = -15.0

Referenced by ParallelFor().

◆ x_c

Real x_c = 0.0

Referenced by ParallelFor().

◆ x_r

Real x_r = 4000.0

Referenced by ParallelFor().

◆ z_c

Real z_c = 3000.0

Referenced by ParallelFor().

◆ z_r

Real z_r = 2000.0

Referenced by ParallelFor().