20 #include "pism/frontretreat/calving/FloatKill.hh"
22 #include "pism/util/Mask.hh"
23 #include "pism/util/Grid.hh"
24 #include "pism/util/array/CellType.hh"
31 m_old_mask(m_grid,
"old_mask") {
38 "* Initializing calving using the floatation criterion (float_kill)...\n");
42 " [only cells at the ice margin are calved during a given time step]\n");
47 " [keeping floating cells near the grounding line]\n");
69 for (
auto p =
m_grid->points(); p; p.next()) {
70 const int i = p.i(), j = p.j();
81 ice_thickness(i, j) = 0.0;
const Config::ConstPtr m_config
configuration database used by this component
const Logger::ConstPtr m_log
logger (for easy access)
const std::shared_ptr< const Grid > m_grid
grid used by this component
A class defining a common interface for most PISM sub-models.
Makes sure that we call begin_access() and end_access() for all accessed array::Arrays.
void copy_from(const Array2D< T > &source)
void update_ghosts()
Updates ghost points.
bool next_to_grounded_ice(int i, int j) const
bool next_to_ice_free_ocean(int i, int j) const
bool floating_ice(int i, int j) const
array::CellType1 m_old_mask
FloatKill(std::shared_ptr< const Grid > g)
bool m_calve_near_grounding_line
void update(array::Scalar &cell_type, array::Scalar &ice_thickness)