PISM, A Parallel Ice Sheet Model  stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900

◆ update_impl()

void pism::hydrology::NullTransport::update_impl ( double  t,
double  dt,
const Inputs inputs 
)
protectedvirtual

Solves an implicit step of a highly-simplified ODE.

Update the till water thickness by simply integrating the melt input.

Does a step of the trivial integration

\[ \frac{\partial W_{till}}{\partial t} = \frac{m}{\rho_w} - C\]

where \(C=\)hydrology_tillwat_decay_rate. Enforces bounds \(0 \le W_{till} \le W_{till}^{max}\) where the upper bound is hydrology_tillwat_max. Here \(m/\rho_w\) is total_input.

Uses the current mass-continuity timestep dt. (Compare hydrology::Routing::update_Wtill() which will generally be taking time steps determined by the evolving transportable water layer in that model.)

There is no attempt to report on conservation errors because this hydrology::NullTransport model does not conserve water.

There is no tranportable water thickness variable and no interaction with it.

Implements pism::hydrology::Hydrology.

Reimplemented in pism::hydrology::SteadyState, and pism::icebin::NullTransportHydrology.

Definition at line 99 of file NullTransport.cc.

References pism::array::Array2D< T >::add(), pism::Geometry::cell_type, diffuse_till_water(), pism::hydrology::Hydrology::enforce_bounds(), pism::RuntimeError::formatted(), pism::hydrology::Inputs::geometry, pism::hydrology::Hydrology::m_basal_melt_rate, pism::Component::m_config, pism::hydrology::Hydrology::m_conservation_error_change, m_diffuse_tillwat, pism::Component::m_grid, pism::hydrology::Hydrology::m_grounded_margin_change, pism::hydrology::Hydrology::m_grounding_line_change, pism::hydrology::Hydrology::m_input_change, pism::hydrology::Hydrology::m_no_model_mask_change, pism::hydrology::Hydrology::m_surface_input_rate, m_tillwat_decay_rate, m_tillwat_max, pism::hydrology::Hydrology::m_W, pism::hydrology::Hydrology::m_Wtill, pism::hydrology::Inputs::no_model_mask, PISM_ERROR_LOCATION, and pism::array::Array::set().

Referenced by pism::hydrology::SteadyState::update_impl().