#[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
}
