[][src]Struct sounding_analysis::experimental::fire::BlowUpAnalysis

pub struct BlowUpAnalysis {
    pub starting_parcel: Parcel,
    pub delta_t_el: CelsiusDiff,
    pub delta_t_cloud: CelsiusDiff,
    pub delta_z_el: Meters,
    pub mib: JpKg,
    pub pct_wet: f64,
}

This characterizes how much heating it would take to cause a plume to "blow up".

The blow up ΔT is the difference in temperature from the parcel that blows up to the parcel the analysis started with (usually the mixed layer parcel). The blow up height is the difference in the level of max integrated buoyancy of the blow up ΔT plus 0.05C and the blow up ΔT minus 0.05C. The level of max integrated buoyancy is also an equilibrium level (EL). Usually, but not always, there is only a single EL which corresponds to the level of max integrated buoyancy. So the level of max integrated buoyancy will be referred to as the EL, and in cases where there is multiple ELs, it will be the one that corresponds to the max integrated buoyancy.

The ΔT required to get the plume top over the LCL, and thus to create a cloud is also calculated. This can be a useful for determining if a plume will have a cap cloud but will not be unstable enough to blow up.

After blow up of the equilibrium level, the maximum integrated buoyancy and the percentage of it that is due to latent heat release are also recorded.

Fields

starting_parcel: Parcel

The original parcel we started with while searching for the blow up.

delta_t_el: CelsiusDiff

The amount of warming required to cause a blow up of the level of maximum integrated buoyancy, or the equilibrium level.

delta_t_cloud: CelsiusDiff

The amount of warming required to cause a cloud to form.

delta_z_el: Meters

The change in height from the blow up of the equilbrium level.

mib: JpKg

The maximum integrated buoyancy after blow up.

pct_wet: f64

The percentage of the mib that is due to latent heat release.

Implementations

impl BlowUpAnalysis[src]

pub fn as_index(&self) -> f64[src]

There's a lot of information packed into a BlowUpAnalysis, which is a simplification itself. This is an attempt to condense it even more so it could more easily used in things like climatology.

The things we are looking for in an index include:

  • High values for low ΔT values. Values above 10 should lead to a zero index because it is very unlikely a blow up of any kind could occur. (In my experience so far).
  • High values for high ΔZ values. Values above 10km should saturate the index because that is a huge blow up.
  • If there is no latent heat contribution, the index should be zero. It should maximize where the contribution from latent heat balances that from sensible heat, and a blow up that is dominated by latent heat should still show up in the index, but not as large as one that is balanced between latent heat and sensible heat.

Trait Implementations

impl Debug for BlowUpAnalysis[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.