PISM, A Parallel Ice Sheet Model
stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
|
PISM iceberg remover. More...
#include <IcebergRemover.hh>
Public Member Functions | |
IcebergRemover (std::shared_ptr< const Grid > g) | |
virtual | ~IcebergRemover ()=default |
void | update (const array::Scalar &bc_mask, array::CellType1 &cell_type, array::Scalar &ice_thickness) |
Public Member Functions inherited from pism::Component | |
Component (std::shared_ptr< const Grid > grid) | |
virtual | ~Component ()=default |
DiagnosticList | diagnostics () const |
TSDiagnosticList | ts_diagnostics () const |
std::shared_ptr< const Grid > | grid () const |
const Time & | time () const |
const Profiling & | profiling () const |
void | define_model_state (const File &output) const |
Define model state variables in an output file. More... | |
void | write_model_state (const File &output) const |
Write model state variables to an output file. More... | |
MaxTimestep | max_timestep (double t) const |
Reports the maximum time-step the model can take at time t. More... | |
Protected Member Functions | |
virtual void | update_impl (const array::Scalar &bc_mask, array::CellType1 &cell_type, array::Scalar &ice_thickness) |
Protected Member Functions inherited from pism::Component | |
virtual MaxTimestep | max_timestep_impl (double t) const |
virtual void | define_model_state_impl (const File &output) const |
The default (empty implementation). More... | |
virtual void | write_model_state_impl (const File &output) const |
The default (empty implementation). More... | |
virtual DiagnosticList | diagnostics_impl () const |
virtual TSDiagnosticList | ts_diagnostics_impl () const |
void | regrid (const std::string &module_name, array::Array &variable, RegriddingFlag flag=NO_REGRID_WITHOUT_REGRID_VARS) |
Protected Attributes | |
array::Scalar | m_iceberg_mask |
std::shared_ptr< petsc::Vec > | m_mask_p0 |
Protected Attributes inherited from pism::Component | |
const std::shared_ptr< const Grid > | m_grid |
grid used by this component More... | |
const Config::ConstPtr | m_config |
configuration database used by this component More... | |
const units::System::Ptr | m_sys |
unit system used by this component More... | |
const Logger::ConstPtr | m_log |
logger (for easy access) More... | |
Additional Inherited Members | |
Protected Types inherited from pism::Component | |
enum | RegriddingFlag { REGRID_WITHOUT_REGRID_VARS , NO_REGRID_WITHOUT_REGRID_VARS } |
This flag determines whether a variable is read from the -regrid_file file even if it is not listed among variables in -regrid_vars . More... | |
PISM iceberg remover.
Identifies and removes free-floating icebergs, which cause well-posedness problems for stress solvers.
Icebergs are, in this context, floating regions that are not attached, through a chain of positive thickness ice-filled cells, to at least one grounded cell.
They cause the SSA operator to have a nontrivial null space.
They are observed to cause unrealistically large velocities that may affect ice velocities elsewhere.
This class uses a serial connected component labeling algorithm to remove "icebergs".
Definition at line 46 of file IcebergRemover.hh.