ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_InitCustomPert_DensityCurrent.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)
 
 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])/mf_m(i, j, 0);const Real z=z_cc(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 Tbar_hse=p_hse(i, j, k)/(R_d *r_hse(i, j, k));Real theta_perturbed=(Tbar_hse+dT) *std::pow(p_0/p_hse(i, j, k), rdOcp);Real theta_0=(Tbar_hse) *std::pow(p_0/p_hse(i, j, k), rdOcp);if(const_rho) { state_pert(i, j, k, RhoTheta_comp)=r_hse(i, j, k) *(theta_perturbed - theta_0);} else { 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.
 
Real z_c = 3000.
 
Real x_r = 4000.
 
Real z_r = 2000.
 
Real T_pert = -15.
 
const bool const_rho = (sc.fixed_density[lev] == 1)
 
const Real rdOcp = sc.rdOcp
 

Function Documentation

◆ 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])/mf_m(i, j, 0);const Real z=z_cc(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 Tbar_hse=p_hse(i, j, k)/(R_d *r_hse(i, j, k));Real theta_perturbed=(Tbar_hse+dT) *std::pow(p_0/p_hse(i, j, k), rdOcp);Real theta_0=(Tbar_hse) *std::pow(p_0/p_hse(i, j, k), rdOcp);if(const_rho) { state_pert(i, j, k, RhoTheta_comp)=r_hse(i, j, k) *(theta_perturbed - theta_0);} else { state_pert(i, j, k, Rho_comp)=getRhoThetagivenP(p_hse(i, j, k))/theta_perturbed - r_hse(i, j, k);} } }   
)

Referenced by SHOCInterface::add_fast_tend(), SHOCInterface::add_slow_tend(), add_thin_body_sources(), Morrison::Advance(), NOAHMP::Advance_With_State(), Kessler::AdvanceKessler(), MM5::AdvanceMM5(), SatAdj::AdvanceSatAdj(), SLM::AdvanceSLM(), AdvectionSrcForMom(), AdvectionSrcForMom_ConstantDz(), AdvectionSrcForMom_EB(), AdvectionSrcForMom_StretchedDz(), AdvectionSrcForMom_TF(), AdvectionSrcForMomWrapper(), AdvectionSrcForMomWrapper_N(), AdvectionSrcForOpenBC_Normal(), AdvectionSrcForOpenBC_Tangent_Cons(), AdvectionSrcForOpenBC_Tangent_Xmom(), AdvectionSrcForOpenBC_Tangent_Ymom(), AdvectionSrcForOpenBC_Tangent_Zmom(), AdvectionSrcForRho(), AdvectionSrcForScalars(), AdvectionSrcForScalarsWrapper(), ERF::apply_gaussian_smoothing_to_perturbations(), TurbulentPerturbation::apply_tpi(), ApplyBndryForcing_Forecast(), ApplyInvertedMask(), ApplyMask(), ApplySpongeZoneBCsForCC(), ApplySpongeZoneBCsForMom(), ApplySpongeZoneBCsForMom_ReadFromFile(), ApplySurfaceTreatment_BulkCoeff_CC(), ApplySurfaceTreatment_BulkCoeff_Mom(), ERF::AverageDownTo(), br_shift(), ERF::build_fine_mask(), ERFFillPatcher::BuildMask(), TurbulentPerturbation::calc_tpi_meanMag_perBox(), ERF::check_for_low_temp(), ERF::check_for_negative_theta(), SAM::Cloud(), PlaneAverage::compute_averages(), Morrison::Compute_Coefficients(), SAM::Compute_Coefficients(), ERF::compute_divergence(), SurfaceLayer::compute_fluxes(), GeneralAD::compute_freestream_velocity(), SimpleAD::compute_freestream_velocity(), compute_gradp(), compute_gradp_interpz(), MYNNPBLH::compute_pblh(), MOSTAverage::compute_plane_averages(), Fitch::compute_power_output(), EWP::compute_power_output(), MOSTAverage::compute_region_averages(), saturation_funcs::compute_saturation_pressure_H2O(), saturation_funcs::compute_saturation_vapfrac_H2O(), SurfaceLayer::compute_SurfaceLayer_bcs(), ComputeDiffusivityMRF(), ComputeDiffusivityMYJ(), ComputeDiffusivityMYNN25(), ComputeDiffusivityMYNNEDMF(), ComputeDiffusivityYSU(), MM5::ComputeFluxes(), SLM::ComputeFluxes(), ComputeGlobalMinLocation(), ComputeStrain_EB(), ComputeStrain_N(), ComputeStrain_S(), ComputeStrain_T(), ComputeStressConsVisc_EB(), ComputeStressConsVisc_N(), ComputeStressConsVisc_S(), ComputeStressConsVisc_T(), ComputeStressVarVisc_N(), ComputeStressVarVisc_S(), ComputeStressVarVisc_T(), MM5::ComputeTsurf(), SLM::ComputeTsurf(), ComputeTurbulentViscosity(), ComputeTurbulentViscosityLES(), ComputeTurbulentViscosityRANS(), ConvertForProjection(), Kessler::Copy_Micro_to_State(), Morrison::Copy_Micro_to_State(), SAM::Copy_Micro_to_State(), SatAdj::Copy_Micro_to_State(), Kessler::Copy_State_to_Micro(), Morrison::Copy_State_to_Micro(), SAM::Copy_State_to_Micro(), SatAdj::Copy_State_to_Micro(), copy_surface_tau_for_implicit(), correct_outflow(), eb_aux_::define(), ForestDrag::define_drag_field(), ERF::derive_diag_profiles(), ERF::derive_diag_profiles_stag(), ERF::derive_stress_profiles(), ERF::derive_stress_profiles_stag(), DiffusionSrcForMom(), DiffusionSrcForMom_EB(), DiffusionSrcForState_N(), DiffusionSrcForState_S(), DiffusionSrcForState_T(), EBAdvectionSrcForMomWrapper(), EBAdvectionSrcForRho(), EBAdvectionSrcForScalars(), EBAdvectionSrcForScalarsWrapper(), derived::erf_derenstrophysq(), derived::erf_dermagvel(), derived::erf_dermagvelsq(), derived::erf_dermoisttemp(), derived::erf_derrhodivide(), derived::erf_dersoundspeed(), derived::erf_dertemp(), derived::erf_dervortx(), derived::erf_dervorty(), derived::erf_dervortz(), ERF::erf_enforce_hse(), erf_init_const_dens_hse(), erf_init_dens_hse(), erf_init_dens_hse_moist(), erf_make_tau_terms(), erf_slow_rhs_post(), erf_slow_rhs_pre(), erf_substep_MT(), erf_substep_NS(), erf_substep_T(), ERF::ErrorEst(), ERF::fill_from_bndryregs(), WindFarm::fill_Nturb_multifab(), SurfaceLayer::fill_qsurf_with_qsat(), WindFarm::fill_SMark_multifab(), WindFarm::fill_SMark_multifab_mesoscale_models(), SurfaceLayer::fill_tsurf_with_sst_and_tsk(), ERF::FillBdyCCVels(), ERF::FillForecastStateMultiFabs(), ERF::FillSurfaceStateMultiFabs(), FillZeroAreaFaceFluxes(), ERF::FindInitialEye(), fine_compute_interior_ghost_rhs(), SurfaceLayer::get_lsm_tsurf(), LineSampler::get_sample_data(), PlaneSampler::get_sample_data(), HurricaneEyeTrackerInitial(), HurricaneEyeTrackerNotInitial(), HurricaneMaxVelTracker(), HurricaneMinPressureTracker(), SAM::IceFall(), if(), ImplicitDiffForMom_N(), ImplicitDiffForMom_S(), ImplicitDiffForMom_T(), ImplicitDiffForState_N(), ImplicitDiffForState_S(), ImplicitDiffForState_T(), ERFPhysBCFunct_base::impose_lateral_basestate_bcs(), ERFPhysBCFunct_cons::impose_lateral_cons_bcs(), ERFPhysBCFunct_u::impose_lateral_xvel_bcs(), ERFPhysBCFunct_v::impose_lateral_yvel_bcs(), ERFPhysBCFunct_w::impose_lateral_zvel_bcs(), ERFPhysBCFunct_base::impose_vertical_basestate_bcs(), ERFPhysBCFunct_cons::impose_vertical_cons_bcs(), ERFPhysBCFunct_u::impose_vertical_xvel_bcs(), ERFPhysBCFunct_v::impose_vertical_yvel_bcs(), ERFPhysBCFunct_w::impose_vertical_zvel_bcs(), ERF::ImposeBCsOnPhi(), init_bx_scalars_from_input_sounding(), init_bx_scalars_from_input_sounding_hse(), init_bx_velocities_from_input_sounding(), init_default_zphys(), ERF::init_from_hse(), ERF::init_immersed_forcing(), init_my_custom_terrain(), SurfaceLayer::init_tke_from_ustar(), init_which_terrain_grid(), Radiation::kokkos_buffers_to_mf(), SHOCInterface::kokkos_buffers_to_mf(), make_areas(), make_buoyancy(), make_fast_coeffs(), make_gradp_pert(), make_J(), make_mom_sources(), make_sources(), make_terrain_fitted_coords(), make_zcc(), ERF::MakeDiagnosticAverage(), ERF::MakeHorizontalAverages(), SHOCInterface::mf_to_kokkos_buffers(), Radiation::mf_to_kokkos_buffers(), MomentumToVelocity(), TurbulentPerturbation::netZeroBuoyantAdd(), TurbulentPerturbation::netZeroBuoyantAdjust(), NumericalDiffusion_Scal(), NumericalDiffusion_Xmom(), NumericalDiffusion_Ymom(), ERF::poisson_wall_dist(), Radiation::populateDatalogMF(), ERF::post_timestep(), SAM::Precip(), SAM::PrecipFall(), ERF::project_momenta(), ERF::project_velocity_tb(), TurbulentPerturbation::pseudoRandomPert(), SurfaceLayer::read_custom_roughness(), ProblemBase::read_custom_terrain(), ReadBndryPlanes::read_file(), ERF::ReadCheckpointFile(), realbdy_compute_interior_ghost_rhs(), realbdy_compute_relaxation(), redistribute_term(), eb_::set_connection_flags(), SHOCInterface::set_diff_stresses(), SHOCInterface::set_eddy_diffs(), MOSTAverage::set_k_indices_T(), MOSTAverage::set_norm_indices_T(), MOSTAverage::set_norm_positions_T(), MOSTAverage::set_rotated_fields(), MOSTAverage::set_z_positions_T(), ERF::solve_with_gmres(), EWP::source_terms_cellcentered(), Fitch::source_terms_cellcentered(), GeneralAD::source_terms_cellcentered(), SimpleAD::source_terms_cellcentered(), ERF::sum_derived_quantities(), ERF::sum_energy_quantities(), tag_on_distance_from_eye(), thinbody_wall_dist(), Time_Avg_Vel_atCC(), GeneralAD::update(), SimpleAD::update(), EWP::update(), Fitch::update(), SurfaceLayer::update_fluxes(), ProblemBase::update_rhoqt_sources(), ProblemBase::update_rhotheta_sources(), VelocityToMomentum(), ERF::volWgtColumnSum(), ERF::volWgtSumMF(), ERF::Write2DPlotFile(), ERF::Write3DPlotFile(), Radiation::write_rrtmgp_fluxes(), ERF::WriteCheckpointFile(), and TurbulentPerturbation::zero_amp().

Here is the call graph for this function:

◆ pp()

ParmParse pp ( "prob"  )

Referenced by add_par(), Morrison::Advance(), ERF::appendPlotVariables(), SolverChoice::build_coriolis_forcings_const_lat(), TurbulentPerturbation::calc_tpi_update(), eb_aux_::define(), AdvChoice::display(), ERF::ERF(), erf_init_dens_hse_moist(), erf_init_rayleigh(), ERF::ERF_shared(), ERF::ErrorEst(), Morrison::Init(), NOAHMP::Init(), ProblemBase::init_buildings_surface(), init_my_custom_terrain(), TurbChoice::init_params(), SolverChoice::init_params(), AdvChoice::init_params(), DampingChoice::init_params(), DiffChoice::init_params(), EBChoice::init_params(), SpongeChoice::init_params(), ERF::init_phys_bcs(), ProblemBase::init_terrain_surface(), TurbulentPerturbation::init_tpi(), init_which_terrain_grid(), WindFarm::init_windfarm_lat_lon(), init_zlevels(), ERF::InitData_post(), InputSoundingData::InputSoundingData(), InputSpongeData::InputSpongeData(), LineSampler::LineSampler(), SurfaceLayer::make_SurfaceLayer_at_level(), ProblemBase::name(), PlaneSampler::PlaneSampler(), query_one_or_per_level(), Radiation::Radiation(), SolverChoice::read_int_string(), ReadBndryPlanes::ReadBndryPlanes(), ERF::ReadCheckpointFile(), SDInitialization::readInputs(), SDInjection::readInputs(), SDInitProperties::readInputs(), ERF::ReadParameters(), ERF::refinement_criteria_setup(), MOSTAverage::set_k_indices_N(), MOSTAverage::set_k_indices_T(), MOSTAverage::set_norm_indices_T(), MOSTAverage::set_norm_positions_T(), MOSTAverage::set_z_positions_T(), ERF::setPlotVariables(), ERF::setPlotVariables2D(), ERF::setSubVolVariables(), IRadiation::setupDataLog(), SHOCInterface::SHOCInterface(), SurfaceLayer::SurfaceLayer(), WriteBndryPlanes::WriteBndryPlanes(), and ERF::WriteSubvolume().

◆ query() [1/5]

pp query ( "T_pert"  ,
T_pert   
)

◆ query() [2/5]

pp query ( "x_c"  ,
x_c   
)

Referenced by containerHasElement().

Here is the caller graph for this function:

◆ 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

◆ const_rho

const bool const_rho = (sc.fixed_density[lev] == 1)

Referenced by ParallelFor().

◆ rdOcp

◆ T_pert

Real T_pert = -15.

Referenced by ParallelFor().

◆ x_c

Real x_c = 0.

Referenced by ParallelFor().

◆ x_r

Real x_r = 4000.

Referenced by ParallelFor().

◆ z_c

Real z_c = 3000.

Referenced by ParallelFor().

◆ z_r

Real z_r = 2000.

Referenced by ParallelFor().