PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800

◆ update_Wtill()

void pism::hydrology::Routing::update_Wtill ( double  dt,
const array::Scalar Wtill,
const array::Scalar surface_input_rate,
const array::Scalar basal_melt_rate,
array::Scalar Wtill_new 
)
protected

The computation of Wtillnew, called by update().

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.

Compare hydrology::NullTransport::update_impl().

The current code is not quite "code duplication" because the code here:

  1. computes Wtill_new instead of updating Wtill in place;
  2. uses time steps determined by the rest of the hydrology::Routing model;
  3. does not check mask because the enforce_bounds() call addresses that.

Otherwise this is the same physical model with the same configurable parameters.

Definition at line 730 of file Routing.cc.

References C, pism::clip(), pism::Component::m_config, pism::Component::m_grid, and pism::hydrology::Hydrology::surface_input_rate().

Referenced by pism::hydrology::Distributed::update_impl(), and update_impl().