pub struct ClimateScenario { /* private fields */ }Expand description
Energy balance climate model scenario.
Implementations§
Source§impl ClimateScenario
impl ClimateScenario
Sourcepub fn new(config: ClimateConfig) -> Self
pub fn new(config: ClimateConfig) -> Self
Create a new climate scenario.
Sourcepub fn init_state(&self) -> SimState
pub fn init_state(&self) -> SimState
Initialize simulation state.
Sourcepub fn step(&mut self, dt_years: f64) -> SimResult<&ClimateState>
pub fn step(&mut self, dt_years: f64) -> SimResult<&ClimateState>
Step the climate model forward in time.
Uses forward Euler integration of the energy balance equation:
C × dT/dt = absorbed_solar + forcing - outgoing_longwave
§Errors
Returns an error if temperature becomes non-physical (<0K or >500K).
Sourcepub fn run_to_equilibrium(
&mut self,
dt_years: f64,
max_years: f64,
tolerance: f64,
) -> SimResult<Vec<ClimateState>>
pub fn run_to_equilibrium( &mut self, dt_years: f64, max_years: f64, tolerance: f64, ) -> SimResult<Vec<ClimateState>>
Run simulation to equilibrium.
Returns the trajectory of climate states.
§Errors
Returns an error if temperature becomes non-physical during simulation.
Sourcepub const fn state(&self) -> &ClimateState
pub const fn state(&self) -> &ClimateState
Get current climate state.
Sourcepub const fn config(&self) -> &ClimateConfig
pub const fn config(&self) -> &ClimateConfig
Get configuration.
Sourcepub fn temperature_anomaly(&self) -> f64
pub fn temperature_anomaly(&self) -> f64
Calculate temperature anomaly from pre-industrial.
Trait Implementations§
Source§impl Clone for ClimateScenario
impl Clone for ClimateScenario
Source§fn clone(&self) -> ClimateScenario
fn clone(&self) -> ClimateScenario
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ClimateScenario
impl RefUnwindSafe for ClimateScenario
impl Send for ClimateScenario
impl Sync for ClimateScenario
impl Unpin for ClimateScenario
impl UnsafeUnpin for ClimateScenario
impl UnwindSafe for ClimateScenario
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more