292 if (cons_comp >= 0)
return cons_comp < caps.conserved_state_size;
294 if (
name ==
"u_t_avg" ||
name ==
"v_t_avg" ||
name ==
"w_t_avg" ||
295 name ==
"umag_t_avg") {
296 return caps.time_average_storage;
298 if (
name ==
"qsrc_sw" ||
name ==
"qsrc_lw") {
299 return caps.radiation_heating_storage;
303 return caps.eddy_diffusivity_storage;
305 if (
name ==
"diss")
return caps.dissipation_storage;
306 if (
name ==
"walldist")
return caps.wall_distance_storage;
308 const auto& moisture = caps.moisture;
309 if (
name ==
"moist_density") {
310 return moisture.vapor && moisture.cloud_liquid &&
318 caps, caps.moist_state_size > 3 ? 4 : 3);
327 return moisture.vapor &&
330 caps.moist_state_size, caps.moist_numconc_size));
333 return moisture.cloud_liquid &&
338 return moisture.rain &&
341 caps.moist_state_size, caps.moist_numconc_size));
346 if (
name ==
"rain_accum")
return moisture.rain_accumulation &&
347 caps.qmoist_size >= (caps.moisture_type == MoistureType::SuperDroplets ? 7 : 1);
348 if (
name ==
"snow_accum")
return moisture.snow_accumulation && caps.qmoist_size >= 2;
349 if (
name ==
"graup_accum")
return moisture.graupel_accumulation && caps.qmoist_size >= 3;
350 if (
name ==
"rel_humidity")
return moisture.relative_humidity_diagnostic &&
351 (caps.moisture_type == MoistureType::SatAdj || caps.qmoist_size >= 6);
352 if (
name ==
"condensation_rate")
return moisture.condensation_rate_diagnostic && caps.qmoist_size >= 4;
bool plot3d_moist_q_component_available(const Plot3DSelectionCapabilities &caps, const int q)
Definition: ERF_PlotfileSelection.H:209
int plot3d_conserved_component_index(const std::string &name)
Definition: ERF_PlotfileSelection.H:175
Plot3DQRange plot3d_precipitating_q_range(const int moist_state_size, const int moist_numconc_size)
Definition: ERF_PlotfileSelection.H:238
Plot3DQRange plot3d_nonprecipitating_q_range(const int moist_state_size)
Definition: ERF_PlotfileSelection.H:231
Plot3DQRange plot3d_total_mass_q_range(const int moist_state_size, const int moist_numconc_size)
Definition: ERF_PlotfileSelection.H:217
bool plot3d_q_range_available(const Plot3DSelectionCapabilities &caps, const Plot3DQRange range)
Definition: ERF_PlotfileSelection.H:251
bool plot3d_fixed_unconditional_diagnostic(const std::string &name)
Definition: ERF_PlotfileSelection.H:260