// General constants
/// Solar flux constant.
pub const SOLAR_CONSTANT: f64 = 1365.0;
/// Stephan Bolztman constant.
pub const STEPHAN_BOLTZMAN: f64 = 5.670374419e-8;
/// Tau constant.
pub const TAU: f64 = std::f64::consts::TAU;
/// Defines a stability condition for heat transfert.
pub const NUMERICAL_STABILITY: f64 = 0.25;
/// Threshold that defines a range to consider a point as on the equator or the prime meridian.
pub const SPHERICAL_THRESHOLD: f64 = 3e-2;
/// Number of thermal skin depth to consider for coherent ground adiabatic condition.
pub const NUMBER_THERMAL_SKIN_DEPTH: usize = 8;
/// Minimum precision trusted in the computation.
pub const MINIMUM_PRECISION: f64 = 1e-6;

// Time related constants
// These constants are defined in seconds, in the Earth time referential.
/// Minute alias for 60 seconds.
pub const MINUTE: f64 = 60.0;
/// Hour alias for 60 minutes.
pub const HOUR: f64 = MINUTE * 60.;
/// Day alias for 24 hours.
pub const DAY: f64 = HOUR * 24.;
/// Year alias for 365.25 days.
pub const YEAR: f64 = DAY * 365.25;

// Distance related constants
// These constants are defined in meters.
/// Astronaumical unit.
pub const ASTRONAUMICAL_UNIT: f64 = 1.495978707e11;
