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

◆ ensure_nonnegativity()

void pism::GeometryEvolution::ensure_nonnegativity ( const array::Scalar ice_thickness,
const array::Scalar area_specific_volume,
array::Scalar thickness_change,
array::Scalar area_specific_volume_change,
array::Scalar conservation_error 
)
protectedvirtual

Correct thickness_change and area_specific_volume_change so that applying them will not result in negative ice_thickness and area_specific_volume.

Compute the the amount of ice that is added to preserve non-negativity of ice thickness.

Parameters
[in]ice_thicknessice thickness (m)
[in]area_specific_volumearea-specific volume (m3/m2)
[in,out]thickness_change"proposed" thickness change (m)
[in,out]area_specific_volume_change"proposed" area-specific volume change (m3/m2)
[in,out]conservation_errorcomputed conservation error (m)

This computation is purely local.

Definition at line 955 of file GeometryEvolution.cc.

References pism::ParallelSection::check(), conservation_error(), pism::ParallelSection::failed(), and pism::Component::m_grid.

Referenced by flow_step().