PISM, A Parallel Ice Sheet Model 2.3.0-79cae578d committed by Constantine Khrulev on 2026-03-22
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
pism::ocean::PicoGeometry Class Reference

#include <PicoGeometry.hh>

+ Inheritance diagram for pism::ocean::PicoGeometry:

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::Scalarcontinental_shelf_mask () const
 
const array::Scalarbox_mask () const
 
const array::Scalarice_shelf_mask () const
 
const array::Scalarice_rise_mask () const
 
const array::Scalarbasin_mask () const
 
- Public Member Functions inherited from pism::Component
 Component (std::shared_ptr< const Grid > grid)
 
virtual ~Component ()=default
 
DiagnosticList spatial_diagnostics () const
 
TSDiagnosticList scalar_diagnostics () const
 
std::shared_ptr< const Gridgrid () const
 
const Timetime () const
 
const Profilingprofiling () const
 
void write_state (const OutputFile &output) const
 Write model state variables to an output file.
 
std::set< VariableMetadatastate () const
 
MaxTimestep max_timestep (double t) const
 Reports the maximum time-step the model can take at time t.
 

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::Scalar1 m_tmp
 
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 std::set< VariableMetadatastate_impl () const
 
virtual void write_state_impl (const OutputFile &output) const
 The default (empty implementation).
 
virtual DiagnosticList spatial_diagnostics_impl () const
 
virtual TSDiagnosticList scalar_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 Gridm_grid
 grid used by this component
 
std::shared_ptr< const Configm_config
 configuration database used by this component
 
const units::System::Ptr m_sys
 unit system used by this component
 
std::shared_ptr< const Loggerm_log
 logger (for easy access)
 

Detailed Description

This class isolates geometric computations performed by the PICO ocean model.

Definition at line 36 of file PicoGeometry.hh.


The documentation for this class was generated from the following files: