#[derive(Debug, Clone, Copy, PartialEq)]
pub struct Geyser {
pub name: &'static str,
pub plume_height_km: f64,
pub n2_output_kg_s: f64,
}
impl Geyser {
pub fn mass_flux_kg_day(&self) -> f64 {
self.n2_output_kg_s * 86_400.0
}
}
pub fn south_polar_geyser() -> Geyser {
Geyser {
name: "South polar geyser",
plume_height_km: 8.0,
n2_output_kg_s: 5.0,
}
}
pub fn cryovolcanic_resurfacing_rate_mm_yr(heat_flux_mw_m2: f64) -> f64 {
heat_flux_mw_m2.max(0.0) * 0.003
}