PISM, A Parallel Ice Sheet Model
stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
|
#include <PicoGeometry.hh>
Public Types | |
enum | IceRiseMask { OCEAN = 0 , RISE = 1 , CONTINENTAL = 2 , FLOATING = 3 } |
Public Member Functions | |
PicoGeometry (std::shared_ptr< const Grid > grid) | |
virtual | ~PicoGeometry ()=default |
void | init () |
void | update (const array::Scalar &bed_elevation, const array::CellType1 &cell_type) |
const array::Scalar & | continental_shelf_mask () const |
const array::Scalar & | box_mask () const |
const array::Scalar & | ice_shelf_mask () const |
const array::Scalar & | ice_rise_mask () const |
const array::Scalar & | basin_mask () const |
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... | |
Private Member Functions | |
void | compute_ice_rises (const array::CellType &cell_type, bool exclude_ice_rises, array::Scalar &result) |
void | compute_lakes (const array::CellType &cell_type, array::Scalar &result) |
void | compute_ocean_mask (const array::CellType &cell_type, array::Scalar &result) |
void | compute_continental_shelf_mask (const array::Scalar &bed_elevation, const array::Scalar &ice_rise_mask, double bed_elevation_threshold, array::Scalar &result) |
void | compute_ice_shelf_mask (const array::Scalar &ice_rise_mask, const array::Scalar &lake_mask, array::Scalar &result) |
std::vector< std::set< int > > | basin_neighbors (const array::CellType1 &cell_type, const array::Scalar1 &basin_mask) |
void | identify_calving_front_connection (const array::CellType1 &cell_type, const array::Scalar &basin_mask, const array::Scalar &shelf_mask, int n_shelves, std::vector< int > &most_shelf_cells_in_basin, std::vector< int > &cfs_in_basins_per_shelf) |
void | split_ice_shelves (const array::CellType &cell_type, const array::Scalar &basin_mask, const std::vector< std::set< int > > &basin_neighbors, const std::vector< int > &most_shelf_cells_in_basin, const std::vector< int > &cfs_in_basins_per_shelf, int n_shelves, array::Scalar &shelf_mask) |
void | compute_distances_cf (const array::Scalar1 &ocean_mask, const array::Scalar &ice_rises, bool exclude_ice_rises, array::Scalar1 &result) |
void | compute_distances_gl (const array::Scalar &ocean_mask, const array::Scalar1 &ice_rises, bool exclude_ice_rises, array::Scalar1 &result) |
void | compute_box_mask (const array::Scalar &D_gl, const array::Scalar &D_cf, const array::Scalar &shelf_mask, int max_number_of_boxes, array::Scalar &result) |
void | relabel_by_size (array::Scalar &mask) |
Private Attributes | |
array::Scalar | m_continental_shelf |
array::Scalar | m_boxes |
array::Scalar | m_ice_shelves |
array::Scalar1 | m_basin_mask |
array::Scalar1 | m_distance_gl |
array::Scalar1 | m_distance_cf |
array::Scalar1 | m_ocean_mask |
array::Scalar | m_lake_mask |
array::Scalar1 | m_ice_rises |
array::Scalar | m_tmp |
std::shared_ptr< petsc::Vec > | m_tmp_p0 |
int | m_n_basins |
std::vector< std::set< int > > | m_basin_neighbors |
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... | |
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 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... | |
This class isolates geometric computations performed by the PICO ocean model.
Definition at line 37 of file PicoGeometry.hh.