#[derive(Debug, Clone, Copy, PartialEq)]
pub struct GrooveFeature {
pub name: &'static str,
pub width_m: f64,
pub depth_m: f64,
}
impl GrooveFeature {
pub fn aspect_ratio(&self) -> f64 {
self.width_m / self.depth_m.max(0.1)
}
}
pub fn primary_groove() -> GrooveFeature {
GrooveFeature {
name: "Main groove set",
width_m: 200.0,
depth_m: 30.0,
}
}
pub fn cryovolcanic_resurfacing_rate_mm_yr(heat_flux_mw_m2: f64) -> f64 {
heat_flux_mw_m2.max(0.0) * 0.0005
}