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

◆ update_flux_through_top_surface()

void pism::energy::BTU_Full::update_flux_through_top_surface ( )
protected

Computes the heat flux from the bedrock thermal layer upward into the ice/bedrock interface:

\[G_0 = -k_b \frac{\partial T_b}{\partial z}\big|_{z=0}.\]

Uses the second-order finite difference expression

\[\frac{\partial T_b}{\partial z}\big|_{z=0} \approx \frac{3 T_b(0) - 4 T_b(-\Delta z) + T_b(-2\Delta z)}{2 \Delta z}\]

where \(\Delta z\) is the equal spacing in the bedrock.

The above expression only makes sense when Mbz = temp.n_levels >= 3. When Mbz = 2 we use first-order differencing. When temp was not created, the Mbz <= 1 cases, we return the stored geothermal flux.

Definition at line 210 of file BTU_Full.cc.

References pism::array::Array2D< T >::copy_from(), m_bootstrapping_needed, pism::energy::BedThermalUnit::m_bottom_surface_flux, pism::Component::m_grid, m_k, m_Mbz, m_temp, pism::energy::BedThermalUnit::m_top_surface_flux, and pism::energy::BedThermalUnit::vertical_spacing().

Referenced by init_impl(), and update_impl().